「
行並べ替え
」を編集中
2014年1月8日 (水) 20:58時点における
Masme
(
トーク
|
投稿記録
)
による版
(ZIPへのリンクを[メディア]に変更。字間・レイアウトの調整、他。)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
<div style="float:right">__TOC__</div> 選択範囲の文字列を比較し、行の並べ替えを行うマクロです。 * 通常選択・行選択・矩形選択に対応しています。 * Unicode または Shift_JIS風の並べ替えが行えます。 * 半角/全角、大文字/小文字、ひらがな/カタカナを区別するかを選択できます。 【注意点】 *<span style="color:#c00;">矩形選択時に、折り返し行を含んでいると正しく並べ替えられません。</span> *数値での並べ替えには対応していません。 *処理速度が遅い上、処理中はCPUをフルに使用します。<br>(作者の環境では、1万行の処理に約1秒かかりました)<br> ステータスバーに処理に要した時間が表示されますので参考にしてください。 [[ファイル:SortLineBySelection.png]] {| class="wikitable" !並べ替え(Unicode) |Unicode順での並べ替えを実行します。 |- !並べ替え(Shift_JIS風) |Shift_JIS風での並べ替えを実行します。<br>※Shift_JIS とは一部の並び順が異なるため「風」と付いています。<br>※Shift_JIS にない文字は、最後尾に並びます(昇順時)。 |- !昇順 or 降順 で並べる |昇順 (A→Z)で並べるか降順 (Z→A)で並べるかを切り替えます。 |- !半角/全角を区別 |半角文字と全角文字を区別するかしないかを切り替えます。<br>区別しない場合、全角英数/記号は半角、半角カナは全角とみなして並べます。 |- !大文字/小文字を区別 |アルファベットの大文字と小文字を区別するかしないかを切り替えます。<br>区別しない場合、大文字は小文字とみなして並べます。 |- !ひらがな/カタカナを区別 |ひらがなとカタカナを区別するかしないかを切り替えます。<br>区別しない場合、ひらがなはカタカナとみなして並べます。 |} ==ソースコード== ダウンロード→ [[メディア:行並べ替え_r4.zip|行並べ替え_r4.zip]] ==更新履歴== * <b>2013/09/19 (rev.4)</b> [[ファイル:行並べ替え_r4.zip]] ** ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に2秒→1秒に短縮)。 ** <span style="color:#c00;">並べ替え(Shift_JIS風) 時、Shift_JIS にない文字の扱いが変わりました。<br>rev.3 までは、昇順/降順を問わず最後尾に並ぶようになっていましたが、<br>rev.4 では、昇順/降順の設定に従うようになっています。</span> * <b>2013/09/19 (rev.3)</b> [[ファイル:行並べ替え_r3.zip]] ** 「半角/全角を区別」設定を追加。 ** 選択範囲がない場合にエラーが出る不具合を修正。<br>ポップアップメニューで「並べ替えが行えない」ことを注意するようにした。 ** 並べ替え(Unicode) 時でも Shift_JIS 用のデータを処理していたムダを解消し、高速化。 ** 並べ替え(Unicode) 時に、水平タブが空行より先に並ぶ不具合を修正(rev.2 限定で発生)。 * <b>2013/08/29 (rev.2)</b> [[ファイル:行並べ替え_r2.zip]] ** ks 氏の改善策を参考に、処理を高速化(作者の環境で1万行に30秒→2秒に短縮)。 ** <span style="color:#c00;">並べ替え(Unicode) 時に、水平タブが空行より先に並ぶバグがあります</span>(rev.3 で修正)。 * <b>2013/08/25 (rev.1)</b> [[ファイル:行並べ替え.zip]] ** 初版公開。 ==既知の仕様== ===矩形選択内に折り返し行がある場合の問題=== 矩形選択での並べ替え時、折り返された行が含まれていると、正しく並べ替えることができません(画像参照)。<br> [[ファイル:SortLineBySelection_PosView.png]] ===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記号類 ①~" は、全角記号の次。㍻は㍼の次に並ぶ。 * ローマ数字の小文字形 ⅰ~ⅹ は、大文字形 Ⅰ~Ⅹ の次に並ぶ。 ==開発者メモ== ;「数値での並べ替え」対応 ⇒予定なし :数値の判定が面倒くさいため対応予定は現状ありません。<br>空白文字や通貨記号や3桁区切り(,)、負数(-)や小数(.)の判定など、考慮することがいろいろあって力尽きました。 ;「半角/全角を区別」対応 ⇒<s style="color:#999;">予定なし</s> rev.3 で対応 :処理速度の改善 ⇒<s style="color:#999;">お手上げ</s> ks 氏の助力により改善できました ;プラグイン化 :インタプリタなマクロより、コンパイルしたプラグインの方が処理が高速だと思われます。しかしながら、自分は JavaScript くらいしか組めないので実現予定はありません。 ==コメント== * [http://merysmacro.seesaa.net/?1377428899 処理速度の改善を図ってみました]ので,ご参考まで (ks) ** ありがとうございます。おかげさまで、処理速度を大幅に改善することができました。 (masme)
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク