last updated:2023/12/27
version キーワードを使って、あるバージョンから実装されたマクロ命令を使うかどうか振り分けることは、できそうに思えますができません。
秀丸エディタマクロの現在の仕様では、マクロはコンパイル後に実行されるため、 version キーワード を使ってもバージョン判別ルーチンが実行されること無く、コンパイル時に文法エラーがあるというダイアログを出して止まってしまいます。
では version の使い道が無いかというとそうでもなく、あるバージョンの秀丸エディタで当該のマクロ実行に致命的なバグがあることが既に分かっている場合に、そのバージョンの秀丸エディタでの実行を禁止させるために使うことができます。
また、マクロの構成ファイルが増えてしまいますが、以下のようにファイルを分ける方法もあります。 (バージョン判定マクロを単純な内容にして、どのバージョンでも動くようにする必要があります)
バージョン判定してマクロ本体を実行するマクロの例
//バージョン判定してマクロ本体を実行するマクロ
if(version > 800){
//マクロを呼び出し
exexmacro "実際に処理を行うマクロファイル名";
}else{
//処理しない
message "現在の秀丸エディタのバージョンでは実行できません。";
}
endmacro;