uwscで秀丸エディタを起動してマクロを実行

この記事について

環境uwsc + 秀丸エディタ
目的uwsc から秀丸を起動してマクロを実行する
結果DOSCMD で起動し /x でマクロ指定。終了ダイアログは GETID + CLKITEM で閉じる

つまずきポイント要約

  • パスに半角スペースがあるので全体を <#DBL> で囲む
  • DOSCMD の第2引数 true がないとファイルを閉じるまで次の命令が実行されない

uwscで秀丸エディタを起動するにはコマンドプロンプトを利用する。

//秀丸エディタを起動

CMD = "C:\Program Files\Hidemaru\Hidemaru.exe"
DOSCMD(CMD) //実行

//ファイルを指定して秀丸エディタを起動

CMD = "<#DBL>C:\Program Files\Hidemaru\Hidemaru.exe<#DBL> <#DBL>C:\フルパス\目的のファイル.html<#DBL>"
DOSCMD(CMD) //実行

※パスのProgram Filesに半角スペースがあるので、パス全体を<#DBL>でかこう

//ファイルを指定してマクロを実行

CMD = "<#DBL>C:\Program Files\Hidemaru\Hidemaru.exe<#DBL> /xマクロ名.mac <#DBL>C:\フルパス\目的のファイル.html<#DBL>"
DOSCMD(CMD,true) //実行。trueがないとファイルを閉じるまで次の命令が実行されない

※マクロは オプション /xマクロ名 で指定

マクロを実行した後の処理

マクロ終了のダイアログを閉じる

//#32770はダイアログ。-1は無限待ち
id = GETID("秀丸エディタ", "#32770", -1)
SLEEP(1)
CLKITEM(id, "OK", CLK_BTN)

上書き保存と閉じる

// ショートカットキーの実行
hide_id = GETID("目的のファイル.html", "Hidemaru32Class", -1)
SCKEY(hide_id, VK_CTRL, VK_S) //保存
//CLKITEM(hide_id, "上書き保存 Ctrl+S", CLK_ACC) //もしくはこれ
SLEEP(1) 
CTRLWIN(hide_id, CLOSE) //閉じる
タイトルとURLをコピーしました