昇順で並び替え/降順で並び替え
ナビゲーションに移動
検索に移動
ショートカットキーやツールバーアイコンの削減用に Mery のインストーラ/ZIP に同梱されている「昇順で並び替え」マクロと「降順で並び替え」マクロをひとつにまとめてみました。
連続で実行すると 昇順 → 降順 → 昇順 → 降順 → ... でトグルします。
もとの並び順に戻す場合は Undo(Ctrl+Z)してください。
- 並べ替えのルールを細かく指定したいばあいは「行並べ替え」マクロが便利です。
- ソースコード
#title = "昇順/降順 トグル"
#tooltip = "昇順で並べ替え/降順で並べ替え"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",145
// --------------------------------------------------------
// 昇順で並べ替え/降順で並べ替え
// Original Copyright (c) Kuro. All Rights Reserved.
// www: https://www.haijin-boys.com/
// --------------------------------------------------------
// Modified by sukemaru
// --------------------------------------------------------
var s = document.selection;
// 選択範囲がなければ文書全体を範囲選択
if ( s.IsEmpty ) {
s.SelectAll();
}
var act = s.GetActivePos();
var anc = s.GetAnchorPos();
// 昇順で並べ替え
var st = s.Text.replace( /\n?$/, "" )
.split( "\n" )
.sort()
.join( "\n" )
+ RegExp["$&"];
if ( st != s.Text ) {
s.Text = st;
}
// すでに昇順だった場合は降順で並べ替え
else {
st = s.Text.replace( /\n?$/, "" )
.split( "\n" )
.sort( function( a, b ) {
return ( ( a < b ) ? 1 :
( ( a > b ) ? -1 :
/* ( a == b ) */ 0 ) )
} )
.join( "\n" )
+ RegExp["$&"];
if ( st != s.Text ) {
s.Text = st;
}
}
// 選択範囲を復帰
s.SetActivePos( act );
s.SetAnchorPos( anc );
スポンサーリンク