概要
「秀丸マクロが実行されていない時、秀丸マクロを改めて実行する」ことが出来ます。
マクロを実行していない時にのみ、実行可能なため、
ほとんどのシチュエーションでは「非同期のメソッド」にて使うこととなるでしょう。
文字列を記述して直接実行することもできますし、
ファイルを指定して実行することもできます。
ここでは、文字列で実行する方法を示します。
秀丸マクロファイルを改めて実行
マクロを実行していない時にのみ、実行することが出来ます。
decltype(Hm.Macro)::IResult Hm.Macro.Exec.doEval(wstring expression)
-
C++側のソース
-
endmacro の後ろの文字列
「秀丸マクロ内の endmacro の後ろの文字列 が肝となります。
-
getMessage()メソッド
endmacroまで実行できたならば、getMessage()でその値を取得できることでしょう。
-
getError()メソッド
何か明確な例外が発生した場合はErrorプロパティに例外を捕捉出来ることもありますが、
情報としての確実性に欠けます。
原則的には、「endmacroの後ろの文字列」でどこまで実行できたのかを、把握するのが適切です。
-
getResult()メソッド
実行の状態によって返ってくる値が異なります、参考程度の値であり、あまりこの値に基づいたプログラムを記述するべきではありません。
-
秀丸マクロ側のソース