次の方法で共有


Application.MustFlushScopeBeginning イベント (Visio)

Microsoft Visio のインスタンスがイベント キューを強制的にフラッシュする前に発生します。

構文

MustFlushScopeBeginning (アプリ)

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

パラメーター

名前 必須 / オプション データ型 説明
アプリ 必須 [IVAPPLICATION] イベント キューを強制的にフラッシュする Visio のインスタンスです。

注釈

このイベントは、Visio がイベント キューを強制的にフラッシュしたためにイベントが発生したかどうかを判断する場合に、MustFlushScopeEnded イベントと組み合わせて使用できます。

Visio は保留中のイベントのキューを維持し、イベント ハンドラーから送られる要求 (コールバック) を処理できるときに、随時、保留中のイベントを発生させます。

Visio は、要求を処理する準備が整っていないときにイベント キューを強制的にフラッシュすることがあります。 このような場合、Visio はまず MustFlushScopeBeginning イベントを発生させ、次に現在イベント キューにあるイベントを発生させます。 保留中のすべてのイベントを発生させた後、Visio は MustFlushScopeEnded イベントを発生させます。

MustFlushScopeBeginning イベントが発生した後、クライアント プログラム側では MustFlushScopeEnded イベントを受け取るまで、副作用を引き起こす Visio のメソッドを呼び出さないでください。 クライアント プログラムでは、MustFlushScopeBeginning イベントと MustFlushScopeEnded イベントの間に Visio オブジェクトの任意のクエリを実行できますが、副作用を起こす操作は失敗することがあります。

Visio は、 BeforeDocumentCloseBeforeShapeDelete などの "before" イベントを発生させる直前に、イベント キューの強制フラッシュを実行します。これは、キューに登録されたイベントが閉じるか削除されるオブジェクトに適用される可能性があるためです。 BeforeDocumentClose イベントを例として使用すると、閉じているドキュメント内の図形オブジェクトに適用されるキューに登録されたイベントが存在する可能性があります。 そのため、ドキュメントが閉じる前に、Visio はイベント キュー内のすべてのイベントを起動します。

図形を削除すると、次の順番でイベントが発生します。

  1. MustFlushScopeBeginning イベント - クライアントは副作用のあるメソッドを呼び出さないでください。

  2. イベント キューにはゼロ個以上のイベントが存在します。

  3. BeforeShapeDelete イベント - Shape は実行可能ですが、Visio によって削除されます。

  4. MustFlushScopeEnded イベント - クライアントは、副作用があるメソッドの呼び出しを再開できます。

  5. ShapesDeleted イベント - 図形が削除されました。

  6. NoEventsPending イベント - 発生するイベントはありません。

イベントは、図形が削除される前 (BeforeShapeDeleted イベント) と後 (ShapesDeleted イベント) の両方で発生します。 これらのイベントを監視しているプログラムで、最初の図形の削除に応じて別の図形を削除する必要がある場合は、BeforeShapeDeleted イベント ハンドラーではなく、ShapesDeleted イベント ハンドラーで削除を実行します。 BeforeShapeDeleted イベントは MustFlushScopeBeginning イベントと MustFlushScopeEnded イベントのスコープ内で発生しますが、ShapesDeleted イベントはこのスコープ内で発生しません。

イベントのシーケンス番号はイベントの生成時点で割り当てられるため、MustFlushScopeBeginning イベントのシーケンス番号は、クライアントが MustFlushScopeBeginning イベントの後に受け取るイベントのシーケンス番号より大きい場合があります。 MustFlushScopeBeginning イベントが最初に発生したとしても、強制フラッシュが始まったときにキュー内にあったイベントのシーケンス番号は、すべて MustFlushScopeBeginning イベントよりも小さくなります。

Microsoft Visual Basic または Visual Basic for Applications (VBA) を使用している場合、このトピックの構文を使用して、イベントを一般的な方法で効率的に処理できます。

独自の Event オブジェクトを作成する場合は、Add メソッドまたは AddAdvise メソッドを使用します。

アドオンを実行する Event オブジェクトを作成するには、EventList コレクションに対して Add メソッドを使用します。

通知を受け取る Event オブジェクトを作成するには、AddAdvise メソッドを使用します。

作成するイベントのイベント コードについては、「イベント コード」を参照してください。

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

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