概要 - ユーザ入力を要求する(VBA/ActiveX)

マクロは、バックスラッシュ(¥)文字を使用して入力を要求することができます。

入力の欲しい箇所に円記号(¥)を置き、マクロの途中でキーボードまたはポインティング デバイスからの入力を受け付けることが便利な場合があります。

circle \1
layer off \;

最初のマクロではユーザに中心点を尋ねるために一時停止し、その後マクロから半径 1 を読み取ります。円記号(¥)の後ろに空白がないことに注意してください。次のマクロではユーザに 1 つの画層名を尋ねるため一時停止し、次にその画層をオフに切り替えて LAYER[画層管理]コマンドを終了します。LAYER コマンドは通常他の操作をプロンプト表示し、スペースバー(空白)または[Enter](;)が押された場合にのみ終了します。

通常は、マクロは 1 つの項目が入力された後に再開します。したがって、可変数の入力を受け取って(オブジェクト選択の場合など)継続するマクロを構築することは不可能です。しかし SELECT[オブジェクト選択]コマンドは例外です。円記号によって、マクロはオブジェクト選択が完了するまで停止します。たとえば次のマクロを考えてください。

select \change previous ;properties color red ;

このマクロは SELECT[オブジェクト選択]コマンドを使用して、1 つまたは複数のオブジェクトの選択セットを作成します。次に、CHANGE[データ変更]コマンドを発行し、Previous オプションを使ってこの選択セットを参照させ、そして選択されたすべてのオブジェクトの色を赤に変更します。

円記号(¥)がユーザ入力のためにマクロを一時停止させることから、円記号はマクロ中で他の目的に使用することはできません。ファイル フォルダのパスを指定するときには、 /direct/file のように、スラッシュ(/)をパスの区切りに使用します。

以下の状況でマクロの再開が延期されます。