OLEObjects 集合对象

         
Sheets
OLEObjects (OLEObject)
Borders (Border)
Interior

指定工作表中所有 OLEObject 对象的集合。每个 OLEObject 对象代表一个 ActiveX 控件或者一个链接式或内嵌的 OLE 对象。

OLEObjects 集合对象的用法

可用 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 控件有两个名称:一个是包含该控件的图形的名称,可以在查看工作表时,在“名称”框中看到该名称;另一个名称是控件的代码名称,可以在“属性”窗口中“(名称)”右边的单元格中看到该名称。首次向工作表添加控件时,图形名称和代码名称是匹配的。但是,如果其中一个名称改变了,另一个不会随之自动改变。

在控件事件过程名称中使用的是控件代码名称,但是,当您从工作表的 ShapesOLEObjects 集合中返回控件时,必须使用图形名称而不是代码名称,只有这样才能通过名称引用控件。例如,假定要向工作表中添加一个复选框,其默认的图形名称和代码名称都是 CheckBox1。如果通过在“属性”窗口的“(名称)”旁边键入“chkFinished”而改变了控件代码名称,则在事件过程名称中必须使用“chkFinished”,但是您仍然需要使用“CheckBox1”从 ShapesOLEObject 集合中返回控件。如下例所示:

Private Sub chkFinished_Click()
    ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub