last updated:2021/06/03

←前へ 次へ→ 機能別Q&A 質問番号順Q&A


[HMM0051A]

●version キーワードの使い道は?

Q.
秀丸マクロの新しいバージョンの機能を実装しているかどうか調べるためにversion キーワードを使ってみましたが、文法エラーが回避できません。

A.

version キーワードを使って、あるバージョンから実装されたマクロ命令を使うかどうか振り分けることは、できそうに思えますができません。

秀丸エディタマクロの現在の仕様では、マクロはコンパイル後に実行されるため、 version キーワード を使っても、バージョン判別ルーチンが実行されること無く、コンパイル時に文法エラーがあるというダイアログを出して止まってしまいます。

では version の使い道が無いかというとそうでもなく、あるバージョンの秀丸エディタで当該のマクロ実行に致命的なバグがあることが既に分かっている場合に、そのバージョンの秀丸エディタでの実行を禁止させるために使うことができます。

また、マクロの構成ファイルが増えてしまいますが、以下のようにファイルを分ける方法もあります。 (バージョン判定マクロを単純な内容にして、どのバージョンでも動くようにする必要があります)

  • バージョン判定してマクロ本体を実行するマクロ
  • 実際に処理を行うマクロ

バージョン判定してマクロ本体を実行するマクロの例

//バージョン判定してマクロ本体を実行するマクロ
if(version > 800){
    //マクロを呼び出し
    exexmacro "実際に処理を行うマクロファイル名";
}else{
    //処理しない
    message "現在の秀丸エディタのバージョンでは実行できません。";
}
endmacro;

←前へ 次へ→ 機能別Q&A 質問番号順Q&A