前のトピック     次のトピック

第 21 章 VISIO のイベントの処理

セクション 1   イベントの概要

これまでの章では、オートメーションを使ってプロパティを取得および設定し、メソッドを起動することによって Visio® オブジェクトを制御する方法を説明してきました。この 1 方向のコミュニケーションには制限があります。プログラムから Visio インスタンスに動作を指示できますが、Visio インスタンスで何が起こっているかを知るためには、考えられる各ケースについて個々にチェックしなければなりません。イベントでは、オブジェクトとそのクライアントが双方向でコミュニケーションできます。

オブジェクトのイベントの処理とオブジェクトのプロパティおよびメソッドの処理には違いがあります。大きく違う点は、プロパティとメソッドは Visio アプリケーションによって定義および提供されます。イベントは Visio アプリケーションによって定義されますが、それを提供するためのコードはユーザーが作成しなければなりません。

下の図は、ユーザーのプログラムが Visio アプリケーションを呼び出してプロパティおよびイベントを実行する方法と、Visio のアプリケーションがユーザーのプログラムを呼び出してイベントを実行する方法を示しています。

 



Visio アプリケーションとユーザーのクライアント プログラムの相互動作

イベントには対象とソースがあります。一般的には、対象とソースは異なるオブジェクトです。イベントの "対象" とは、実際にイベントが発生するオブジェクトです。たとえば ShapeAdded イベントの対象は追加された Shape オブジェクトです。

イベントの "ソース" とは、イベントを生成するオブジェクトです。ほとんどのイベントは、いくつかのソースから生成されます。選択したソース オブジェクトによって、イベントが発生する "スコープ" が決まります。ソース オブジェクトがオブジェクト階層の上位にあると、このスコープが大きくなります。たとえば、ソースが Page オブジェクトの場合は、ShapeAdded イベントはそのページに図形が追加されるたびに発生します。ソースが Application オブジェクトの場合は、ShapeAdded イベントは同じ Visio のインスタンスで開いているすべての図面のすべてのページを対象に、図形が追加されるたびに発生します。

イベントが発生する頻度が高いほど、ソリューションのパフォーマンスに影響を及ぼす可能性が大きくなります。したがって、ソース オブジェクトを選択するとき、イベントを処理するスコープについて検討してください。

あるソース オブジェクトから発生するイベントをそのソース オブジェクトの "イベント セット" と言います。Microsoft Visual Basic for Applications (VBA) または Visual Basic では、イベント セットは Visual Basic エディタの [オブジェクト ブラウザ] で表示できます。イベントのソースとなる Visio オブジェクトでは、そのイベント セットのメンバーが 稲妻型の記号で表されます。イベントをオブジェクトまたは名前によって検索する、またはイベントの完全なリストを表示する方法については、Visio 製品付属のオンラインヘルプ「開発者用リファレンス ([ヘルプ] メニューから [開発者用リファレンス] を選択)」を参照してください。

Top