Event.SetFilterCommands メソッド (Visio)
コマンド範囲と True または False の値で構成される配列を指定します。これらの値は、各コマンド範囲に関連するイベントのフィルター方法を表します。
構文
式。 SetFilterCommands
( _Commands()_
)
式Event オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Commands() | 必須 | Long | コマンド配列と True または False の値で構成される配列を指定します。これらの値は、各コマンド範囲に関連するイベントのフィルター方法を表します。 |
戻り値
なし
解説
AddAdvise メソッドで作成された Event オブジェクトがソース オブジェクトの EventList コレクションに追加された場合、既定の動作では、発生したすべてのイベントがイベント シンクに渡されます。 SetFilterCommands メソッドを使用すると、コマンド ID に基づいて選択されたイベントを無視することができます。
SetFilterCommands に渡されるパラメーター Commands() は、次の方法によって定義される配列です。
Commands() 内の要素の数は 3 の倍数です。
最初の要素には、範囲の先頭にあるコマンド ID (VisUICmds のメンバー) が格納されます。
第 2 の要素には、範囲の最後にあるコマンド ID (VisUICmds のメンバー) が格納されます。
3 番目の要素には、コマンドの範囲に関連するイベントを受信するかどうかを示す True または False の値が格納されます (True はイベントを受信し、False はイベントを受信しません)。
イベントがコマンド フィルターを通過するには、次の条件を満たす必要があります。
コマンド ID が有効である。
すべてのフィルターが True の場合は、イベントが 1 つ以上のフィルターと一致する。
すべてのフィルターが False の場合は、イベントがいずれのフィルターとも一致しない。
フィルターに True と False の両方が含まれている場合は、イベントが 1 つ以上の True フィルターと一致し、いずれの False フィルターとも一致しない。
配列に True の範囲がない場合、イベントは True と見なされます。
たとえば、1 つのコマンドを除外する配列を設定するには、次のように指定します。
Dim aFilterCommands(1 To (1 * 3)) As Long
'Ignore the layout command.
aFilterCommands(1) = visCmdLayoutDynamic
aFilterCommands(2) = visCmdLayoutDynamic
aFilterCommands(3) = False
[最背面へ移動] コマンドのみを受信する配列を設定するには、次のように指定します。
Dim aFilterCommands(1 To (3 * 3)) As Long
'Pay attention to the "Send to Back" command.
aFilterCommands(1) = visCmdObjectSendToBack
aFilterCommands(2) = visCmdObjectSendToBack
aFilterCommands(3) = True
'Ignore any command IDs before the "Send to Back" command.
aFilterCommands(4) = visCmdFirst
aFilterCommands(5) = visCmdObjectSendToBack - 1
aFilterCommands(6) = False
'Ignore any command IDs after the "Send to Back" command.
aFilterCommands(7) = visCmdObjectSendToBack + 1
aFilterCommands(8) = visCmdLast
aFilterCommands(9) = False
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。