BeginCommand イベント(ActiveX)

コマンドが発行された直後で、コマンドが完了する前に開始されます。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.BeginCommand(CommandName)
object

タイプ: Application

有効なコンテナ オブジェクトを評価するオブジェクト式この場合、有効なコンテナはアプリケーションだけです。

CommandName

タイプ: 文字列

発行するコマンドの名前

注意

BeginCommand イベントは、コマンドの発行要求を AutoCAD が受け取り次第、開始されます。この要求は、AutoCAD ユーザ インタフェースによってユーザが対話形式で発行したものでも、プログラムによって発行されたものでもかまいません。BeginCommand イベントの後、AutoCAD がコマンドの処理を完了すると、 EndCommand イベントが続きます。ユーザがコマンドの発行をキャンセルした場合、EndCommand イベントは開始されません。

BeginCommand イベントは、すべての基本的な AutoCAD コマンド、または ObjectARX アプリケーションや Visual LISP の vlax-add-cmd 関数によって起動されます。

このイベントは、Visual LISP の vl-acad-defun 関数によって、外部サブルーチンとして定義された Visual LISP 関数によっては起動されません。これらの関数は、AutoCAD コマンド ラインから実行した場合でもコマンド スタックに入れられません。その代わりに、 BeginLISP および EndLISP イベントを開始します。LISP コマンドがその実行時に認識される必要がある場合は、Visual LISP の vlax-add-cmd 関数を使用して AutoCAD コマンド スタックにコマンドを正しく登録する必要があります。

AutoCAD コマンドの定義を解除してから Visual LISP の vl-acad-defun 関数を使用して再定義した場合、BeginCommand イベントは、たとえば実際の AutoCAD コマンド(command "._.LINE" ...)が呼び出されるまで開始されない場合があります。

AutoCAD コマンドはコマンド スタックにグループで格納されます。コマンド スタックのインスタンスは AutoCAD セッション単位で作成されます。このスタックは、元からある AutoCAD コマンドの他に、ユーザが追加した任意のカスタム コマンドから構成されます。

モーダル ダイアログが表示されている間、イベントは発生しません。

VBA:

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
    ' This example intercepts a drawing BeginCommand event.
    '
    ' This event is triggered when a drawing receives
    ' any command compatible with this event.
    '
    ' To trigger this example event: Issue any command to an open drawing from
    ' either the command line, VBA, the AutoCAD menus, the AutoCAD toolbars, or LISP.

    ' Use the "CommandName" variable to determine which command was started
    MsgBox "A drawing has just been issued a " & CommandName & " command."
End Sub

Visual LISP:

Not available