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