Event.SetFilterObjects メソッド (Visio)
オブジェクト型の配列と、各オブジェクトのイベントをフィルター処理する方法を示す True または False の 値を指定します。
構文
式。 SetFilterObjects
( _Objects()_
)
式Event オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Objects() | 必須 | Long | オブジェクトの種類と True または False の値で構成される配列を指定します。これらの値は、各オブジェクトに関連するイベントのフィルター方法を表します。 |
戻り値
なし
解説
AddAdvise メソッドで作成された Event オブジェクトがソース オブジェクトの EventList コレクションに追加された場合、既定の動作では、発生したすべてのイベントがイベント シンクに渡されます。 SetFilterObjects メソッドを使用すると、オブジェクトの種類に基づいて選択したイベントを無視できます。
SetFilterObjects に渡されるパラメーター Objects() は、次の方法によって定義される配列です。
配列内の要素の数は 2 の倍数です。
最初の要素には、オブジェクトの種類 (visTypePage、visTypeGroup、visTypeShape、visTypeForeignObject、visTypeGuide、visTypeDoc のいずれか 1 つ) が格納されます。
2 番目の要素には、そのオブジェクトのイベントを受信するかどうかを示す True または False 値が格納されます (True はオブジェクトのイベントを受信し、False はオブジェクトのイベントを受信しません)。
イベントがオブジェクトのイベント フィルターを通過するには、次の条件を満たす必要があります。
オブジェクトの種類が有効である。
すべてのフィルターが True の場合は、イベントが 1 つ以上のフィルターと一致する。
すべてのフィルターが False の場合は、イベントがいずれのフィルターとも一致しない。
フィルターに True と False の両方が含まれている場合は、イベントが 1 つ以上の True フィルターと一致し、いずれの False フィルターとも一致しない。
配列に True の範囲が定義されていない場合、イベントは True と見なされます。
たとえば、図形またはガイドが発するイベントのみを受信するには、次のような配列を渡します。
Dim aFilterObjects(1 To (2 * 2)) As Long
aFilterObjects(1) = visTypeShape
aFilterObjects(2) = True
aFilterObjects(3) = visTypeGuide
aFilterObjects(4) = True
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。