共用方式為


Event.SetFilterObjects 方法 (Visio)

會指定物件類型的陣列以及一個會指出篩選每個物件之事件方式的 TrueFalse 值。

語法

expressionSetFilterObjects( _Objects()_ )

一個代表 事件 物件的變數。

參數

名稱 必要/選用 資料類型 描述
物件 () 必要 Long 物件類型的陣列以及一個會指出篩選每個物件類型之事件方式的 TrueFalse 值。

傳回值

註解

當用 AddAdvise 方法建立的 Event 物件新增至來源物件的 EventList 集合時,預設表現方式是所有出現的該項事件都會傳送至事件接收器。 SetFilterObjects 方法會提供依據物件類型略過選取之事件的方法。

傳送到 SetFilterObjectsObjects() 參數是以下列方式定義的陣列。

陣列中的元素數目是 2 的倍數:

  • 第一個元素含有物件類型 (visTypePagevisTypeGroupvisTypeShapevisTypeForeignObjectvisTypeGuidevisTypeDoc 的其中一個 )。

  • 第二個元素含有 TrueFalse 值,指出您是否正在聆聽該物件的事件 (值為 True 表示會聆聽物件的事件,值為 False 則表示會排除物件的事件)。

事件必須滿足下列條件,才能順利通過物件事件篩選:

  • 必須是有效的物件類型。

  • 如果所有篩選器為 True,事件必須至少符合一個篩選器。

  • 如果所有篩選器為 False,事件不得與任何篩選器相符。

  • 如果篩選器是 TrueFalse 的混合,事件必須至少符合一個 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 支援與意見反應