使用 Visual Basic 中的 ObjectVerbs 属性可以确定 OLE 对象所支持的动词的列表。String 型,只读。
expression.ObjectVerbs(Index)
expression 必需。返回“应用于”列表中的一个对象的表达式。
Index 必需 Long 型。所支持的动词数组中的元素。是一个从零开始的索引,零 (0) 表示数组中的第一个动词,一 (1) 表示数组中的第二个动词,依此类推。
该属性设置在“设计”视图中不可用。
同时使用 ObjectVerbs 属性与 ObjectVerbsCount 属性可以显示 OLE 对象所支持的动词的列表。Verb 属性用该动词列表确定在激活 OLE 对象时(当 Action 属性设为 acOLEActivate 时)应该执行的操作。
Verb 属性设置是 ObjectVerbs 属性返回的动词列表中特定动词的位置。例如,1 指定列表中的第一个动词(Visual Basic 的命令 ObjectVerbs(0),或 ObjectVerbs 属性数组中的第一个动词),2 指定在列表中的第二个动词(Visual Basic 的命令 ObjectVerbs(1),或 ObjectVerbs 属性数组中的第二个动词),依此类推。
在 ObjectVerbs 属性数组中由 Visual Basic 的命令 ObjectVerbs(0)调用的第一个动词是默认动词。如果还未设置 Verb 属性,则在激活 OLE 对象时,将由这个动词来指定要执行的操作。
支持 OLE 对象的应用程序通常在“编辑”菜单中包含“对象”命令。当用户指向“对象”命令时,子菜单将显示该对象的动词。使用 ObjectVerbs 和 ObjectVerbsCount 属性可以指定在窗体或报表中显示动词列表,而不是在菜单中显示。
根据对象状态的不同,对象支持的动词列表是变化的。如果要更新对象所支持的动词列表,请将控件的 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