最終更新日 2024-06-21

秀丸マクロを改めて実行(メソッド編)

概要

さて、前節ではHm.Macro.Exec.Eval(...)を使った文字列での実行をしました。

これまでの秀丸の様々なメソッドの半数ほどは、「秀丸マクロ実行中のみ実行可能」というものが散見されたはずです

すなわち、一般的には「非同期中」は「秀丸マクロ実行中ではない」ため、

このため、Hm.Macro.Exec.Eval(...)のマクロへと値を伝達しようとしても、「マクロ実行中ではない」ため、Hm.Macro.Var などが利用できず、
値を伝搬するのも難しいという状況になります。

この問題を一気に解決するのが、「Hm.Macro.Exec.Method(...)」です。

Hm.Macro.Exec.Method(...)は、指定のC#メソッドを「改めて新規の秀丸マクロ実行中」にしつつ呼び出せ、
という命令となります。

秀丸マクロを改めて実行

マクロを実行していない時にのみ、実行することが出来ます。

Hm.Macro.Exec.Method(string message_parameter, Delegate delegate_method)

呼び出せるメソッドは

public static IntPtr your_method(string message_parameter)

の形です。
public なメソッドを呼び出すことができます。