この記事について
| 環境 | 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) //閉じる
