最終更新日 2021-03-21

マクロ実行中か、マクロ実行中以外か

概要

この関数は主に「非同期」でマクロを動作させる場合に必要となります。

現代的な作りのエディタ(例えば Visual Studio Code)は、
マクロ(拡張機能用のスクリプト)は何本走ろうが非同期で並列で動作しますが、
残念ながら、古い作りの秀丸は、「全ての秀丸」で1つのマクロ実行枠しかありません。
同時に複数のマクロは並列で実行できないということであり、プログラムで手動で並列実行を避ける必要があります。
(並列実行しようとすると、秀丸がダイアログでエラーを出してしまいます)

並列処理(非同期処理)のようなプログラムをC#で組んでいる場合は、

新たなマクロを実行したいが、今既にマクロが実行中だから出来ない、1秒後に改めて判定しよう。

といった一種の待機処理が必要となるのです。この関数はそういった判断をする際に利用します。

マクロ実行中かどうか