|
http://homepage2.nifty.com/bantou_pp/KBANTOU/KZHMJ304Beta/KZ_HMacro1/KZ_CBSo
rt1.mac
ここにありますが、ソースを書いておきます。
//*1 *** Macro for 「秀丸エディタ」***
//*1 【マクロ名】 KZ_CBSort1.mac - Ver. 03.04 - 1999/11/11
//*1 (C) Copyright 番頭++ (Bantou++). 1998 - 1999. All Rights Reserved.
//*1 【作者】 K.Nakatake / 番頭++ / E-mail:xxxxxxxx@nifty.ne.jp
//*1 ・このマクロは、フリーウェアです。
//*1 【機能】
//*1 ・クリップボード対応テキストソート ssort32 起動支援マクロ
//*1 ・「 Si 」氏 の ssort32.exe が無いと動きません !
//*1 http://www.vector.co.jp/soft/win95/util/se090985.html
//*1 クリップボード対応テキストソート
//*1 ssrt3213.lzh を使用させて頂いています。
//*1 -r 降順ソート (デフォルト - 昇順ソート)
//*1 -u 重複データは削除
//*1 runsync2 "ssort32.exe -a+ -u "; // ClipBoard to ClipBoard
//*1 runsync2 "ssort32.exe -a+ -u -f a2.txt -o a3.txt";
//*1 run "ssort32.exe -u -f a2.txt -o a3.txt";
//*1 ・ ssort32.exe は、「秀丸」のディレクトリに置いて下さい。
//*1 ・このマクロは、.フリーウェア.です。
//*1 ・
//*1 【著作権】
//*1 ・「 ssort32.exe 」は、「 Si 」氏 の作成されたソフトです。
//*1 ・
//*1 【注意】
//*1 ・
//
if( version < 216 ){ // inselect
message "すみません、version (2.16) のチェックを行なっています !";
about;
endmacroall;
}
// disableinvert; // disabledraw;
// 指定のディレクトリ - 秀丸のディレクトリにしておきます。変更して下さい !
$tools_dir1 = hidemarudir+"\\ssort32.exe";
if( ! existfile($tools_dir1) ){
message "ssort32.exe を指定のディレクトリに置いて下さい !";
endmacro;
}
if( ! selecting ){
$wk1 = "全選択、または行単位の範囲選択をして下さい !";
//T message $wk1 + " - 選択を開始します。"; //T しつこいかなぁ !
if( iskeydown( 0x1B ) ){ // [Esc]
escape; endmacro;
}
inputpos filename2 + " - " + $wk1 + " - [Esc] でキャンセル";
if( iskeydown( 0x1B ) ){ // [Esc]
escape; endmacro;
}
}
if( ( ! selecting ) || ( seltopx + selendx ) != 0 ){
if( selecting ){
message "全選択、または行単位の範囲選択をして、実行して下さい !";
}
endmacro;
}
#y = seltopy;
#sw_del_dup = false; // default + "しない"
$menu1[00] = "ソートしますか ? - [Esc] でキャンセル";
$menu1[01] = "(&S) - 昇順 で開始";
$menu1[02] = "(&K) - 降順 で開始";
pp_loop1:
$menu1[03] = "(&O) - オプション 重複削除 : ";
if( #sw_del_dup == true ){
$menu1[03] = $menu1[03] + "する";
} else {
$menu1[03] = $menu1[03] + "しない";
}
menuarray $menu1, 3 + 1;
#result = result;
if( #result <= 01 ){ goto pp_exit1; }
if( #result == 04 ){
#sw_del_dup = ! #sw_del_dup; goto pp_loop1;
}
cut;
$wk1 = $tools_dir1 + " -a+ "; // 自動実行
if( #result == 03 ){ $wk1 = $wk1 + "-r "; } // 降順
if( #sw_del_dup ){ $wk1 = $wk1 + "-u "; } // 重複削除
//T message $wk1;
runsync2 $wk1;
paste;
setclipboard ""; // clear ClipBoard
pp_exit1:
escape; moveto 0, #y;
endmacro;
// end of macro.
|
|