秀丸マクロ, Word VBA, or the like -22ページ目

スクリプトの基本

秀丸マクロのスクリプトの書き方について基本的な決まりごとを説明します。

スクリプトとはマクロの本体です。

秀丸はスクリプトに書かれたコマンド(命令)を、原則上から順に実行していきます。

このスクリプトの書き方には以下の2つの大原則があります。


(1) コマンド(命令)の区切りは、セミコロン『

秀丸は、セミコロン『;』をコマンドの区切りとして認識します。

なので、各コマンドの後には、原則セミコロン『;』をつけます。

改行、半角スペース、TABは無視されるのであっても無くてもいいです。

例えば、前回の記事で紹介した余分な空白を削除するマクロの場合、

自分は、以下のように書きますが、
replaceallfast "^[  \t]+", "", regular;
replaceallfast "[  \t]+$", "", regular;

以下のように一行で書いても、
replaceallfast"^[  \t]+","",regular;replaceallfast"[  \t]+$","",regular;

以下のように、セミコロンの前にスペースが入っても
replaceallfast "^[  \t]+", "", regular ;
replaceallfast "[  \t]+$", "", regular ;

以下のような自由な書き方でも、
replaceallfast
"^[  \t]+",
"", regular
;

replaceallfast
"[  \t]+$",
"",
regular
;

ちゃんと機能します。
但し、不用意に全角スペースを入れると、エラーになりますのでご注意ください。

但し、どういう書き方でも、秀丸はいいのですが、人間は違います。

マクロは作った後、ちょこちょこと改造したり、エラーを修正したりします。

後から見ても、見やすいように書くことをお勧めします。



(2) スラッシュ2本『//』でコメント挿入

コメントとは、人間用のメモです。

このコマンドは何をするコマンドなのか等をコメントとして記入します。

このコメントを入れるには、半角スラッシュ2本『//』をコメントの冒頭に入力します

秀丸は、スラッシュ2本『//』から改行までを無視します。

例えばこんな感じです。
replaceallfast "^[  \t]+", "", regular;//ここはコメントなので無視されます


自分で作ったマクロでも、後で見直すと何やってるのか全く思い出せなくなってることが結構あります。

なので、マクロを作る時は、以下のようになるべくこまめにコメントを残すことをお勧めします。
replaceallfast "^[  \t]+", "", regular;//行頭の空白を削除
replaceallfast "[  \t]+$", "", regular;//行末の空白を削除



また、コマンドの先頭に『//』を挿入することで、このコマンドを一時的に無効にすることも出来ます。
replaceallfast "^[  \t]+", "", regular;
//↓このコマンドは実行されなくなります。
//replaceallfast "[  \t]+$", "", regular;


コマンドを削除しても大丈夫かどうか、又は、

コマンドを削除したほうがいいのかどうかを判断するときに、

一時的にコマンドを無効にして、マクロの動作を確認することができます。


これは、エラーを修正したり、マクロを効率化するときに使うテクニックです。