使用 Visual Basic 中的 ObjectVerbs 屬性可以確定 OLE 對象所支持的動詞的列表。String 型,只讀。
expression.ObjectVerbs(Index)
expression 必需。返回“應用于”列表中的一個對象的表達式。
Index 必需 Long 型。所支持的動詞數(shù)組中的元素。是一個從零開始的索引,零 (0) 表示數(shù)組中的第一個動詞,一 (1) 表示數(shù)組中的第二個動詞,依此類推。
該屬性設置在“設計”視圖中不可用。
同時使用 ObjectVerbs 屬性與 ObjectVerbsCount 屬性可以顯示 OLE 對象所支持的動詞的列表。Verb 屬性用該動詞列表確定在激活 OLE 對象時(當 Action 屬性設為 acOLEActivate 時)應該執(zhí)行的操作。
Verb 屬性設置是 ObjectVerbs 屬性返回的動詞列表中特定動詞的位置。例如,1 指定列表中的第一個動詞(Visual Basic 的命令 ObjectVerbs(0),或 ObjectVerbs 屬性數(shù)組中的第一個動詞),2 指定在列表中的第二個動詞(Visual Basic 的命令 ObjectVerbs(1),或 ObjectVerbs 屬性數(shù)組中的第二個動詞),依此類推。
在 ObjectVerbs 屬性數(shù)組中由 Visual Basic 的命令 ObjectVerbs(0)調(diào)用的第一個動詞是默認動詞。如果還未設置 Verb 屬性,則在激活 OLE 對象時,將由這個動詞來指定要執(zhí)行的操作。
支持 OLE 對象的應用程序通常在“編輯”菜單中包含“對象”命令。當用戶指向“對象”命令時,子菜單將顯示該對象的動詞。使用 ObjectVerbs 和 ObjectVerbsCount 屬性可以指定在窗體或報表中顯示動詞列表,而不是在菜單中顯示。
根據(jù)對象狀態(tài)的不同,對象支持的動詞列表是變化的。如果要更新對象所支持的動詞列表,請將控件的 Action 屬性設為 acOLEFetchVerbs。在將動詞列表提供給用戶之前,請確定已更新過。
下面的示例將返回 OLE1 控件中的 OLE 對象所支持的動詞,并在消息框中顯示每個動詞。
Sub GetVerbList(frm As Form, OLE1 As Control)
Dim intX As Integer, intNumVerbs As Integer
Dim strVerbList As String
' Update verb list.
With frm!OLE1
.Action = acOLEFetchVerbs
intNumVerbs = .ObjectVerbsCount
For intX = 0 To intNumVerbs - 1
strVerbList = strVerbList & .ObjectVerbs(intX) & "; "
Next intX
End With
' Display verbs in message box.
MsgBox Left(strVerbList, Len(strVerbList) - 2)
End Sub