コマンドマクロの一例

前回は、コマンドマクロの特殊文字の中で、ユーザー入力待ち状態を作る特殊文字「¥」を紹介しました。

具体的にはどう使っているのか、ということで、サンプルのコマンドマクロもあわせて紹介しました。

^C^C_-INSERT;sample;¥;;¥

このコマンドマクロの中で、ユーザー入力待ち状態がどのように使われているのかを理解すればOKです。

きっと別のコマンドマクロを自分で作成する時にも、きちんとユーザー入力待ち状態を活用出来るはずです。

このユーザー入力待ち状態の考え方は、コマンドマクロをマスターする為にどうしても覚えておきたい部分。

ちょっと面倒ではありますが、ぜひここで覚えて頂きたいと思ってます。

ということで、今回はコマンドの具体的な流れと、コマンドマクロの流れを実際に追いかけてみることにしましょう。


■コマンドマクロの流れ

まず、コマンド冒頭の「^C」キーの効果を再確認する為に、線分を引いている途中の状態からスタートします。

 

コマンドの開始前状態

 

この状態で、作成したコマンドマクロを実行すると、まずは「^C」が2回繰り返されるので、「ESC」キーが2回押されます。

 

まずはESCキーを2回

 

その次に「-INSERT」コマンドを実行して「Enter」を押すことで、ブロック挿入コマンドが実行されます。

 

INSERTコマンドの実行

 

これは後で詳しく説明をするつもりですが、通常の「INSERT」コマンドではなく「-INSERT」というのがポイント。

コマンドの頭に-を付けることによって、ダイアログBOXが表示されるコマンドでも、コマンドラインの中で実行する事が出来るようになります。

これを考えてずにそのまま「INSERT」を実行しても、単純にブロック挿入のダイアログBOXが表示されるだけ。

それ以降は全てユーザーの入力が必要になるので、ダイアログBOXはコマンドマクロには必要ないんです。

コマンドライン上でブロック挿入コマンドを実行すると、まずはブロック名を入力する状態になります。

 

ブロック名の入力

 

ここでブロック名「sample」と入力して「Enter」を押すことによって、ブロック名の入力が完了しました。

ここでようやく今回のテーマである「ユーザー入力待ち状態」になる訳ですが、これはブロックの挿入位置を画面から指定するシーンです。

座標による数値入力をすると、決められた位置にしか挿入出来ないので、やっぱりここは画面をクリックしたいところ。

こうしたタイミングで「¥」を配置しておくことによって、一端コマンドマクロを中断して、ユーザーの入力を待つことが出来るんです。

これが非常に大きな意味を持ってくる訳です。

このユーザー入力待ちの処理が出来ないと、恐らく実現出来ないコマンドマクロは結構な数になると思います。

ちょっと長くなってしまったので、コマンドマクロの後半は次回に続くことにします。