「行並べ替え」の版間の差分
ナビゲーションに移動
検索に移動
「既知の仕様」を「更新履歴」の後に移動 |
細 ZIPへのリンクを[メディア]に変更。字間・レイアウトの調整、他。 |
||
| 5行目: | 5行目: | ||
* Unicode または Shift_JIS風の並べ替えが行えます。 | * Unicode または Shift_JIS風の並べ替えが行えます。 | ||
* 半角/全角、大文字/小文字、ひらがな/カタカナを区別するかを選択できます。 | * 半角/全角、大文字/小文字、ひらがな/カタカナを区別するかを選択できます。 | ||
【注意点】 | |||
*<span style="color:#c00;"> | *<span style="color:#c00;">矩形選択時に、折り返し行を含んでいると正しく並べ替えられません。</span> | ||
* | *数値での並べ替えには対応していません。 | ||
* | *処理速度が遅い上、処理中はCPUをフルに使用します。<br>(作者の環境では、1万行の処理に約1秒かかりました)<br> ステータスバーに処理に要した時間が表示されますので参考にしてください。 | ||
[[ファイル:SortLineBySelection.png]] | [[ファイル:SortLineBySelection.png]] | ||
| 17行目: | 17行目: | ||
|- | |- | ||
!並べ替え(Shift_JIS風) | !並べ替え(Shift_JIS風) | ||
|Shift_JIS風での並べ替えを実行します。<br> | |Shift_JIS風での並べ替えを実行します。<br>※Shift_JIS とは一部の並び順が異なるため「風」と付いています。<br>※Shift_JIS にない文字は、最後尾に並びます(昇順時)。 | ||
|- | |- | ||
!昇順 or 降順 で並べる | !昇順 or 降順 で並べる | ||
|昇順(A→Z)で並べるか降順(Z→A)で並べるかを切り替えます。 | |昇順 (A→Z)で並べるか降順 (Z→A)で並べるかを切り替えます。 | ||
|- | |- | ||
!半角/全角を区別 | !半角/全角を区別 | ||
| 33行目: | 33行目: | ||
==ソースコード== | ==ソースコード== | ||
ダウンロード→[[ | ダウンロード→ [[メディア:行並べ替え_r4.zip|行並べ替え_r4.zip]] | ||
==更新履歴== | ==更新履歴== | ||
* <b>2013/09/19 (rev.4)</b> [[ファイル:行並べ替え_r4.zip]] | * <b>2013/09/19 (rev.4)</b> [[ファイル:行並べ替え_r4.zip]] | ||
** ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に2秒→1秒に短縮)。 | ** ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に2秒→1秒に短縮)。 | ||
** <span style="color:#c00;">並べ替え(Shift_JIS風) | ** <span style="color:#c00;">並べ替え(Shift_JIS風) 時、Shift_JIS にない文字の扱いが変わりました。<br>rev.3 までは、昇順/降順を問わず最後尾に並ぶようになっていましたが、<br>rev.4 では、昇順/降順の設定に従うようになっています。</span> | ||
* <b>2013/09/19 (rev.3)</b> [[ファイル:行並べ替え_r3.zip]] | * <b>2013/09/19 (rev.3)</b> [[ファイル:行並べ替え_r3.zip]] | ||
** 「半角/全角を区別」設定を追加。 | ** 「半角/全角を区別」設定を追加。 | ||
** 選択範囲がない場合にエラーが出る不具合を修正。<br>ポップアップメニューで「並べ替えが行えない」ことを注意するようにした。 | ** 選択範囲がない場合にエラーが出る不具合を修正。<br>ポップアップメニューで「並べ替えが行えない」ことを注意するようにした。 | ||
** 並べ替え(Unicode) | ** 並べ替え(Unicode) 時でも Shift_JIS 用のデータを処理していたムダを解消し、高速化。 | ||
** 並べ替え(Unicode)時に、水平タブが空行より先に並ぶ不具合を修正(rev.2 限定で発生)。 | ** 並べ替え(Unicode) 時に、水平タブが空行より先に並ぶ不具合を修正(rev.2 限定で発生)。 | ||
* <b>2013/08/29 (rev.2)</b> [[ファイル:行並べ替え_r2.zip]] | * <b>2013/08/29 (rev.2)</b> [[ファイル:行並べ替え_r2.zip]] | ||
** ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に30秒→2秒に短縮)。 | ** ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に30秒→2秒に短縮)。 | ||
** <span style="color:#c00;">並べ替え(Unicode)時に、水平タブが空行より先に並ぶバグがあります</span>(rev.3 で修正)。 | ** <span style="color:#c00;">並べ替え(Unicode) 時に、水平タブが空行より先に並ぶバグがあります</span>(rev.3 で修正)。 | ||
* <b>2013/08/25 (rev.1)</b> [[ファイル:行並べ替え.zip]] | * <b>2013/08/25 (rev.1)</b> [[ファイル:行並べ替え.zip]] | ||
** 初版公開。 | ** 初版公開。 | ||
| 53行目: | 53行目: | ||
===矩形選択内に折り返し行がある場合の問題=== | ===矩形選択内に折り返し行がある場合の問題=== | ||
矩形選択での並べ替え時、折り返された行が含まれていると、正しく並べ替えることができません(画像参照)。<br> | |||
[[ファイル:SortLineBySelection_PosView.png]] | [[ファイル:SortLineBySelection_PosView.png]] | ||
| 64行目: | 64行目: | ||
==開発者メモ== | ==開発者メモ== | ||
;「数値での並べ替え」対応 ⇒予定なし | |||
数値の判定が面倒くさいため対応予定は現状ありません。<br>空白文字や通貨記号や3桁区切り(,)、負数(-)や小数(.)の判定など、考慮することがいろいろあって力尽きました。 | :数値の判定が面倒くさいため対応予定は現状ありません。<br>空白文字や通貨記号や3桁区切り(,)、負数(-)や小数(.)の判定など、考慮することがいろいろあって力尽きました。 | ||
;「半角/全角を区別」対応 ⇒<s style="color:#999;">予定なし</s> rev.3 で対応 | |||
:処理速度の改善 ⇒<s style="color:#999;">お手上げ</s> ks 氏の助力により改善できました | |||
;プラグイン化 | |||
インタプリタなマクロより、コンパイルしたプラグインの方が処理が高速だと思われます。しかしながら、自分は JavaScript くらいしか組めないので実現予定はありません。 | :インタプリタなマクロより、コンパイルしたプラグインの方が処理が高速だと思われます。しかしながら、自分は JavaScript くらいしか組めないので実現予定はありません。 | ||
==コメント== | ==コメント== | ||
* [http://merysmacro.seesaa.net/?1377428899 処理速度の改善を図ってみました]ので,ご参考まで (ks) | * [http://merysmacro.seesaa.net/?1377428899 処理速度の改善を図ってみました]ので,ご参考まで (ks) | ||
** ありがとうございます。おかげさまで、処理速度を大幅に改善することができました。 (masme) | ** ありがとうございます。おかげさまで、処理速度を大幅に改善することができました。 (masme) | ||
2014年1月8日 (水) 20:58時点における版
選択範囲の文字列を比較し、行の並べ替えを行うマクロです。
- 通常選択・行選択・矩形選択に対応しています。
- Unicode または Shift_JIS風の並べ替えが行えます。
- 半角/全角、大文字/小文字、ひらがな/カタカナを区別するかを選択できます。
【注意点】
- 矩形選択時に、折り返し行を含んでいると正しく並べ替えられません。
- 数値での並べ替えには対応していません。
- 処理速度が遅い上、処理中はCPUをフルに使用します。
(作者の環境では、1万行の処理に約1秒かかりました)
ステータスバーに処理に要した時間が表示されますので参考にしてください。
| 並べ替え(Unicode) | Unicode順での並べ替えを実行します。 |
|---|---|
| 並べ替え(Shift_JIS風) | Shift_JIS風での並べ替えを実行します。 ※Shift_JIS とは一部の並び順が異なるため「風」と付いています。 ※Shift_JIS にない文字は、最後尾に並びます(昇順時)。 |
| 昇順 or 降順 で並べる | 昇順 (A→Z)で並べるか降順 (Z→A)で並べるかを切り替えます。 |
| 半角/全角を区別 | 半角文字と全角文字を区別するかしないかを切り替えます。 区別しない場合、全角英数/記号は半角、半角カナは全角とみなして並べます。 |
| 大文字/小文字を区別 | アルファベットの大文字と小文字を区別するかしないかを切り替えます。 区別しない場合、大文字は小文字とみなして並べます。 |
| ひらがな/カタカナを区別 | ひらがなとカタカナを区別するかしないかを切り替えます。 区別しない場合、ひらがなはカタカナとみなして並べます。 |
ソースコード
ダウンロード→ 行並べ替え_r4.zip
更新履歴
- 2013/09/19 (rev.4) ファイル:行並べ替え r4.zip
- ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に2秒→1秒に短縮)。
- 並べ替え(Shift_JIS風) 時、Shift_JIS にない文字の扱いが変わりました。
rev.3 までは、昇順/降順を問わず最後尾に並ぶようになっていましたが、
rev.4 では、昇順/降順の設定に従うようになっています。
- 2013/09/19 (rev.3) ファイル:行並べ替え r3.zip
- 「半角/全角を区別」設定を追加。
- 選択範囲がない場合にエラーが出る不具合を修正。
ポップアップメニューで「並べ替えが行えない」ことを注意するようにした。 - 並べ替え(Unicode) 時でも Shift_JIS 用のデータを処理していたムダを解消し、高速化。
- 並べ替え(Unicode) 時に、水平タブが空行より先に並ぶ不具合を修正(rev.2 限定で発生)。
- 2013/08/29 (rev.2) ファイル:行並べ替え r2.zip
- ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に30秒→2秒に短縮)。
- 並べ替え(Unicode) 時に、水平タブが空行より先に並ぶバグがあります(rev.3 で修正)。
- 2013/08/25 (rev.1) ファイル:行並べ替え.zip
- 初版公開。
既知の仕様
矩形選択内に折り返し行がある場合の問題
矩形選択での並べ替え時、折り返された行が含まれていると、正しく並べ替えることができません(画像参照)。
Shift_JIS風の並び順
Microsoft コードページ932 (参考: Wikipedia) の文字表を基本に、以下の変更を加えています。
- NEC/IBM記号類 ①~" は、全角記号の次。㍻は㍼の次に並ぶ。
- ローマ数字の小文字形 ⅰ~ⅹ は、大文字形 Ⅰ~Ⅹ の次に並ぶ。
開発者メモ
- 「数値での並べ替え」対応 ⇒予定なし
- 数値の判定が面倒くさいため対応予定は現状ありません。
空白文字や通貨記号や3桁区切り(,)、負数(-)や小数(.)の判定など、考慮することがいろいろあって力尽きました。 - 「半角/全角を区別」対応 ⇒
予定なしrev.3 で対応 - 処理速度の改善 ⇒
お手上げks 氏の助力により改善できました - プラグイン化
- インタプリタなマクロより、コンパイルしたプラグインの方が処理が高速だと思われます。しかしながら、自分は JavaScript くらいしか組めないので実現予定はありません。
コメント
- 処理速度の改善を図ってみましたので,ご参考まで (ks)
- ありがとうございます。おかげさまで、処理速度を大幅に改善することができました。 (masme)
スポンサーリンク

