OLEObjects 对象 (Excel)

指定工作表上所有 OLEObject 对象的集合。

备注

每一个 OLEObject 对象都代表一个 ActiveX 控件或者一个链接或嵌入的 OLE 对象。

工作表上的 ActiveX 控件具有两个名称:包含控件的形状的名称(查看工作表时,可在“名称”框中看到此名称);控件的代码名称(在“属性”窗口的“(名称)”右侧单元格中可看到此名称)。

第一次向工作表添加控件时,形状名称和代码名称是匹配的。 但是,如果您更改这两个名称中的任意一个,另一个不会随之自动更改。 但是,后者似乎已随 Excel 版本而更改。 使用版本 16.0 时,两者都保持一致,不能单独更改其中一个。

示例

使用 Worksheet 对象的 OLEObjects 方法可返回 OLEObjects 集合。

下例在第一个工作表上隐藏所有 OLE 对象。

Worksheets(1).OLEObjects.Visible = False

使用 Add 方法创建新的 OLE 对象并将其添加到 OLEObjects 集合。 下例创建表示位图文件 Arcade.bmp 的新 OLE 对象并将其添加到第一个工作表中。

Worksheets(1).OLEObjects.Add FileName:="arcade.gif"

下例新建一个 ActiveX 控件(一个列表框),并将其添加到第一张工作表中。

Worksheets(1).OLEObjects.Add ClassType:="Forms.ListBox.1"

可以使用事件程序名称中的控件代码名称。 但是,当从工作表的 ShapesOLEObjects 集合返回控件时,必须使用形状名称(而不是代码名称)来按名称引用控件。 例如,假定你给工作表添加一个复选框,那么默认形状名称和默认代码名称都是 CheckBox1。 然后,如果你通过在“属性”窗口的“(名称)”旁边键入“chkFinished”更改了控件代码名称,则在事件过程名称中必须使用 chkFinished,但是你仍然需要使用 CheckBox1 从 ShapesOLEObject 集合中返回控件,如下例所示。

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

方法

属性

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。