Application.OnComponentEnterState メソッド (Visio)

クライアント コードが原因で、Microsoft Visio インスタンスが特定の状態に入るか、特定の状態から抜けることを、インスタンスに通知します。

構文

OnComponentEnterState (uStateID, bEnter)

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
uStateID 必須 VisOnComponentEnterCodes 状態に入っているか、抜けているかを表し、その状態内での動作を制御するフラグを伴います。
bEnter 必須 ブール型 (Boolean) True は状態に入っていることを示します。False は状態から抜けていることを示します。

戻り値

なし

解説

uStateID 引数は、開始または終了する状態を示します。 このメソッドを呼び出すコードは、状態に入るときおよび抜けるときに、この引数を指定する必要があります。

現在、OnComponentEnterState メソッドがサポートしている状態変化は、visComponentStateModal だけです。この定数は、Visio がモーダル状態に入るか、モーダル状態から抜ける操作をクライアントが行っていることを示します。

ほとんどのクライアント コードは、モーダル ダイアログ ボックスを表示するときなど、Visio がモーダル状態に入る操作またはモーダル状態から抜ける操作を行うとき OnComponentEnterState メソッドを呼び出す必要はありません。 一般に、このメソッドは Microsoft Visual Basic for Applications (VBA) フォーム以外のダイアログ ボックスを表示し、Visio の既定の動作と異なる動作を必要とするクライアント コードで使用します。

次の uStateID の定数と値が、Visio タイプ ライブラリの VisOnComponentEnterCodes で宣言されています。 visModal というプレフィックスが付いた次の定数を visComponentStateModal と組み合わせて、モーダル状態への遷移時またはモーダル状態からの遷移時の Visio の動作に影響を与えることができます。

定数 説明
visComponentStateModal 1 識別された状態はモーダル状態です。
visModalDeferEvents &H10000 Visio がモーダル中に起動イベントを延期しようとします。 既定では、Visio は独自のダイアログ ボックスを表示するときに発生イベントを延期しますが、クライアント コードによってダイアログ ボックスが表示された場合は発生イベントを延期しません。複数の入れ子になったモーダル スコープの場合、いずれかのスコープでイベントを延期している場合、イベントを延期している最も外側のスコープ内のすべてのスコープでイベントが延期されます。このフラグは、Visio がモーダル スコープに入るときにのみ効果があります。 モーダル スコープの終了時、Visio はこのスコープに入った時と同じように動作します。
visModalNoBeforeAfter &H20000 Visio がモーダル スコープに入る際の BeforeModal イベントの発生を禁止し、モーダル スコープを抜ける際の AfterModal イベントの発生を禁止します。既定の設定では、Visio は Visio 自身のダイアログ ボックス、または VBA により実装されたダイアログ ボックスを表示する場合にこれらのイベントを発生させますが、クライアント コードによりダイアログ ボックスが表示された場合にはイベントを発生させません。visModalNoBeforeAfter が指定されていない限り、OnComponentEnterState メソッドを呼び出すと、これらのイベントが発生します。
visModalDontBlockMessages &H40000 Visio がモーダル状態の間にメイン スレッド外からの呼び出しを拒否するのを防ぎます。 既定では、Visio はモーダル時にスレッド外からの呼び出しを拒否します。複数の入れ子になったモーダル スコープの場合、いずれかのスコープでイベントを延期している場合、イベントを延期している最も外側のスコープ内のすべてのスコープでイベントが延期されます。このフラグは、Visio がモーダル スコープに入るときにのみ効果があります。 モーダル スコープの終了時、Visio はこのスコープに入った時と同じように動作します。
visModalDisableVisiosFrame &H80000 Visio がモーダル状態の間のフレーム ウィンドウを無効にします。 既定では、Visio では、独自のダイアログ ボックスが表示されている場合、または VBA によって実装されたダイアログ ボックスが表示されている場合はフレーム ウィンドウが無効になりますが、別のプロセスのクライアント コードにダイアログ ボックスが表示されている場合は無効になりません。別のプロセスのコードでダイアログ ボックスを表示し、Visio フレーム ウィンドウをダイアログ ボックスを表示する Visio プロセスと同様に動作させる場合は、このフラグを設定できます。このフラグは、Visio がモーダル スコープに入るときにのみ有効です。 モーダル スコープの終了時、Visio はこのスコープに入った時と同じように動作します。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。