Event.SetFilterObjects 方法 (Visio)
指定对象类型的数组以及指示如何筛选每个对象的事件的 True 或 False 值。
语法
expression。 SetFilterObjects
( _Objects()_
)
表达 一个代表 Event 对象的变量。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
对象 () | 必需 | Long | 对象类型数组以及 True 或 False 值,指示如何筛选每个对象类型的事件。 |
返回值
Nothing
注解
将使用 AddAdvise 方法创建的 Event 对象添加到源对象的 EventList 集合中时,默认行为是该事件的所有匹配项都被传递给事件接收器。 SetFilterObjects 方法提供根据对象类型忽略选定事件的方式。
传递给 SetFilterObjects 的 Objects() 参数是采用以下方式定义的数组。
该数组中的元素数是 2 的倍数:
第一个元素包含对象类型(visTypePage、visTypeGroup、visTypeShape、visTypeForeignObject、visTypeGuide 或 visTypeDoc 之一)。
第二个元素包含 True 或 False 值,指示是否侦听该对象的事件(True 表示侦听对象的事件;False 表示排除对象的事件)。
若要使事件成功地通过对象事件筛选,它必须满足以下条件:
必须为有效的对象类型。
如果所有的筛选器都为 True,则事件必须至少与一个筛选器匹配。
如果所有的筛选器都为 False,则事件一定与任何筛选器都不匹配。
如果筛选器为 True 和 False 的混合,则事件必须至少与一个 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。