「行並べ替え」の版間の差分
ナビゲーションに移動
検索に移動
細 コメント追加 |
改訂版(rev.2)公開。見出し「更新履歴」追加。ページレイアウト調整。 |
||
| 1行目: | 1行目: | ||
<div style="float:right">__TOC__</div> | |||
選択範囲の文字列を比較し、行の並べ替えを行うマクロです。 | 選択範囲の文字列を比較し、行の並べ替えを行うマクロです。 | ||
| 6行目: | 6行目: | ||
* 大文字/小文字、ひらがな/カタカナを区別するかを選択できます。 | * 大文字/小文字、ひらがな/カタカナを区別するかを選択できます。 | ||
※表示行での並べ替えには対応していません。論理行のみです。<br> | *※表示行での並べ替えには対応していません。論理行のみです。 | ||
*※数値での並べ替えには対応していません。 | |||
*※半角/全角を区別しない並べ替えには対応していません。 | |||
*※処理速度が遅い上、処理中はCPUをフルに使用します。<br>(作者の環境では、1万行の処理に2秒かかりました)<br> ステータスバーに処理に要した時間が表示されますので参考にしてください。 | |||
[[ファイル:SortLineBySelection.png]] | |||
{| border="1" cellspacing="0" | {| border="1" cellspacing="0" | ||
| 28行目: | 31行目: | ||
==Shift_JIS風の並び順== | ==Shift_JIS風の並び順== | ||
Microsoft コードページ932 (参考: [http://ja.wikipedia.org/wiki/Microsoft%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8932 Wikipedia]) の文字表を基本に、以下の変更を加えています。 | |||
* NEC/IBM記号類 | * NEC/IBM記号類 ①~" は、全角記号の次。㍻は㍼の次に並ぶ。 | ||
* ローマ数字の小文字形 | * ローマ数字の小文字形 ⅰ~ⅹ は、大文字形 Ⅰ~Ⅹ の次に並ぶ。 | ||
==ソースコード== | ==ソースコード== | ||
ダウンロード→[[ファイル:行並べ替え.zip]] | ダウンロード→[[ファイル:行並べ替え_r2.zip]] | ||
==更新履歴== | |||
* 2013/08/29 (rev.2) [[ファイル:行並べ替え_r2.zip]]<br>ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に30秒→2秒) | |||
* 2013/08/25 (rev.1) [[ファイル:行並べ替え.zip]]<br>初版公開 | |||
==開発者メモ== | ==開発者メモ== | ||
* 「数値での並べ替え」対応 →面倒くさいので予定なし | * 「数値での並べ替え」対応 →面倒くさいので予定なし | ||
数値の判定が面倒くさいため対応予定はありません。<br> | 数値の判定が面倒くさいため対応予定はありません。<br>空白文字や通貨記号や3桁区切り(,)の処理、負数(-)や小数(.)の判定など、対処すべきことがいろいろあって力尽きました。 | ||
* 「半角/全角を区別」対応 →面倒くさいので予定なし | * 「半角/全角を区別」対応 →面倒くさいので予定なし | ||
半角カナの変換が面倒くさいため対応予定はありません。<br>Mery の Document.Selection.ChangeWidth 関数が String型 でも使えれば話は簡単なのですが、参照できなかったので諦めました。そもそも個人的に、半角カナほとんど使わないし… | 半角カナの変換が面倒くさいため対応予定はありません。<br>Mery の Document.Selection.ChangeWidth 関数が String型 でも使えれば話は簡単なのですが、参照できなかったので諦めました。そもそも個人的に、半角カナほとんど使わないし… | ||
* 処理速度の改善 →お手上げ | * 処理速度の改善 <s style="color:#999;">→お手上げ</s> → ks 氏の助力により改善できました | ||
処理する行数が多いほど時間がかかるのは変わらないので、ご注意ください。 | |||
* プラグイン化 | |||
インタプリタなマクロより、コンパイルしたプラグインの方が処理が高速だと思われます。しかしながら、自分は JavaScript くらいしか組めないので実現予定はありません。 | |||
== コメント == | ==コメント== | ||
[http://merysmacro.seesaa.net/?1377428899 処理速度の改善を図ってみました]ので,ご参考まで (ks) | * [http://merysmacro.seesaa.net/?1377428899 処理速度の改善を図ってみました]ので,ご参考まで (ks) | ||
** ありがとうございます。おかげさまで、処理速度を大幅に改善することができました。 (masme) | |||
2013年8月29日 (木) 00:25時点における版
選択範囲の文字列を比較し、行の並べ替えを行うマクロです。
- 通常選択・行選択・矩形選択に対応しています。
- Unicode または Shift_JIS風の並べ替えが行えます。
- 大文字/小文字、ひらがな/カタカナを区別するかを選択できます。
- ※表示行での並べ替えには対応していません。論理行のみです。
- ※数値での並べ替えには対応していません。
- ※半角/全角を区別しない並べ替えには対応していません。
- ※処理速度が遅い上、処理中はCPUをフルに使用します。
(作者の環境では、1万行の処理に2秒かかりました)
ステータスバーに処理に要した時間が表示されますので参考にしてください。
| 並べ替え(Unicode) | Unicode順での並べ替えを実行します。 |
|---|---|
| 並べ替え(Shift_JIS風) | Shift_JIS風での並べ替えを実行します。 ※Shift_JISとは一部の並び順が異なるため「風」と付いています。 ※Shift_JISにない文字は、昇順降順問わず最後尾にまとめられます。 |
| 昇順or降順 で並べる | 昇順(A→Z)か降順(Z→A)かを切り替えます。 |
| 大文字/小文字を区別 | 大文字(ABC)と小文字(abc)を区別するかしないかを切り替えます。 区別する場合、大文字が先に並びます(昇順時)。 |
| ひらがな/カタカナを区別 | ひらがなとカタカナを区別するかしないかを切り替えます。 区別する場合、ひらがなが先に並びます(昇順時)。 |
Shift_JIS風の並び順
Microsoft コードページ932 (参考: Wikipedia) の文字表を基本に、以下の変更を加えています。
- NEC/IBM記号類 ①~" は、全角記号の次。㍻は㍼の次に並ぶ。
- ローマ数字の小文字形 ⅰ~ⅹ は、大文字形 Ⅰ~Ⅹ の次に並ぶ。
ソースコード
ダウンロード→ファイル:行並べ替え r2.zip
更新履歴
- 2013/08/29 (rev.2) ファイル:行並べ替え r2.zip
ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に30秒→2秒) - 2013/08/25 (rev.1) ファイル:行並べ替え.zip
初版公開
開発者メモ
- 「数値での並べ替え」対応 →面倒くさいので予定なし
数値の判定が面倒くさいため対応予定はありません。
空白文字や通貨記号や3桁区切り(,)の処理、負数(-)や小数(.)の判定など、対処すべきことがいろいろあって力尽きました。
- 「半角/全角を区別」対応 →面倒くさいので予定なし
半角カナの変換が面倒くさいため対応予定はありません。
Mery の Document.Selection.ChangeWidth 関数が String型 でも使えれば話は簡単なのですが、参照できなかったので諦めました。そもそも個人的に、半角カナほとんど使わないし…
- 処理速度の改善
→お手上げ→ ks 氏の助力により改善できました
処理する行数が多いほど時間がかかるのは変わらないので、ご注意ください。
- プラグイン化
インタプリタなマクロより、コンパイルしたプラグインの方が処理が高速だと思われます。しかしながら、自分は JavaScript くらいしか組めないので実現予定はありません。
コメント
- 処理速度の改善を図ってみましたので,ご参考まで (ks)
- ありがとうございます。おかげさまで、処理速度を大幅に改善することができました。 (masme)
スポンサーリンク
