秀丸のマクロを他の言語で実行する(javascript編)
js.mac(秀丸から実行するマクロファイル)
if( selecting == 1 ) { run "cscript.exe //nologo \"C:\\Program Files\\Hidemaru\\mac\\test.js\" < con > con "; }
test.js(php.macから実行するjavascriptのソース)
while (!WScript.StdIn.AtEndOfLine) { WScript.StdOut.WriteLine(WScript.StdIn.ReadLine()+"a"); }
※秀丸のマクロのパスを「C:\Program Files\Hidemaru\mac」として記述しています。(動的にパスを編集できる方法を知ってれば是非教えてください!)
選択した範囲にたいしてjavascriptで編集されます。
例えば以下のようなデータを選択した場合。
1234 12345 123456
下記結果になります。
1234a 12345a 123456a
ソースの修正履歴を残したい場合の例(javascript編)
test.jsを下記のように編集してみる
function println(str) { WScript.StdOut.WriteLine( str ); } function print(str) { WScript.StdOut.Write( str ); } function to_date(d){ var d = new Date(); return d.getFullYear() + "/" + d.getMonth() + "/" + d.getDate(); } println("// --- add start --- " + to_date() + " ---#"); while (!WScript.StdIn.AtEndOfLine) { println(WScript.StdIn.ReadLine()); } print("// --- add end --- " + to_date() + " ---#");
上記の例だと
1234 12345 123456
下記結果になります。
// --- add start --- 2008/11/29 ---# 1234 12345 123456 // --- add end --- 2008/11/29 ---#