Sheets![]() ![]() ![]() ![]() ![]() |
指定工作表中所有 OLEObject 对象的集合。每个 OLEObject 对象代表一个 ActiveX 控件或者一个链接式或内嵌的 OLE 对象。
可用 OLEObjects 方法返回 OLEObjects 集合。下例隐藏第一张工作表中的所有 OLE 对象。
Worksheets(1).OLEObjects.Visible = False
可用 Add 方法新建一个 OLE 对象,并将其添加到 OLEObjects 集合中。下例新建一个 OLE 对象,该对象代表位图文件 Arcade.bmp,并将该位图文件添加到第一张工作表中。
Worksheets(1).OLEObjects.Add FileName:="arcade.gif"
下例新建一个 ActiveX 控件(一个列表框),并将其添加到第一张工作表中。
Worksheets(1).OLEObjects.Add ClassType:="Forms.ListBox.1"
有关详细信息,请参阅在工作表上使用 ActiveX 控件。
工作表上的 ActiveX 控件有两个名称:一个是包含该控件的图形的名称,可以在查看工作表时,在“名称”框中看到该名称;另一个名称是控件的代码名称,可以在“属性”窗口中“(名称)”右边的单元格中看到该名称。首次向工作表添加控件时,图形名称和代码名称是匹配的。但是,如果其中一个名称改变了,另一个不会随之自动改变。
在控件事件过程名称中使用的是控件代码名称,但是,当您从工作表的 Shapes 或 OLEObjects 集合中返回控件时,必须使用图形名称而不是代码名称,只有这样才能通过名称引用控件。例如,假定要向工作表中添加一个复选框,其默认的图形名称和代码名称都是 CheckBox1。如果通过在“属性”窗口的“(名称)”旁边键入“chkFinished”而改变了控件代码名称,则在事件过程名称中必须使用“chkFinished”,但是您仍然需要使用“CheckBox1”从 Shapes 或 OLEObject 集合中返回控件。如下例所示:
Private Sub chkFinished_Click()
ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub