使用 Visual Basic 中的 ObjectVerbs 屬性可以確定 OLE 對象所支持的動詞的列表。String 型,只讀。
expression.ObjectVerbs(Index)
expression 必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。
Index 必需 Long 型。所支持的動詞數(shù)組中的元素。是一個從零開始的索引,零 (0) 表示數(shù)組中的第一個動詞,一 (1) 表示數(shù)組中的第二個動詞,依此類推。
該屬性設(shè)置在“設(shè)計(jì)”視圖中不可用。
同時使用 ObjectVerbs 屬性與 ObjectVerbsCount 屬性可以顯示 OLE 對象所支持的動詞的列表。Verb 屬性用該動詞列表確定在激活 OLE 對象時(當(dāng) Action 屬性設(shè)為 acOLEActivate 時)應(yīng)該執(zhí)行的操作。
Verb 屬性設(shè)置是 ObjectVerbs 屬性返回的動詞列表中特定動詞的位置。例如,1 指定列表中的第一個動詞(Visual Basic 的命令 ObjectVerbs(0),或 ObjectVerbs 屬性數(shù)組中的第一個動詞),2 指定在列表中的第二個動詞(Visual Basic 的命令 ObjectVerbs(1),或 ObjectVerbs 屬性數(shù)組中的第二個動詞),依此類推。
在 ObjectVerbs 屬性數(shù)組中由 Visual Basic 的命令 ObjectVerbs(0)調(diào)用的第一個動詞是默認(rèn)動詞。如果還未設(shè)置 Verb 屬性,則在激活 OLE 對象時,將由這個動詞來指定要執(zhí)行的操作。
支持 OLE 對象的應(yīng)用程序通常在“編輯”菜單中包含“對象”命令。當(dāng)用戶指向“對象”命令時,子菜單將顯示該對象的動詞。使用 ObjectVerbs 和 ObjectVerbsCount 屬性可以指定在窗體或報(bào)表中顯示動詞列表,而不是在菜單中顯示。
根據(jù)對象狀態(tài)的不同,對象支持的動詞列表是變化的。如果要更新對象所支持的動詞列表,請將控件的 Action 屬性設(shè)為 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