指定工作表上所有 OLEObject 物件的集合。
註解
每一個 OLEObject 物件都代表 ActiveX 控制項或是連結或內嵌的 OLE 物件。
ActiveX 控制項在工作表上有兩個名稱:一個是包含該控制項的圖案名稱,當檢視工作表時,您可以在 [名稱] 方塊中看到,另一個是控制項的程式碼名稱,您可以在 [屬性] 視窗中 (Name) 右邊的儲存格裡看到。
當您第一次新增一個控制項到工作表中時,該圖案名稱和程式碼名稱是相符合的。 不過,如果您變更了圖案名稱或程式碼名稱的其中一項,則另一項將不會自動變更。 然而,後者似乎隨著 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"
在控制項的事件程序中,使用的是控制項的程式碼名稱。 不過,當您從工作表的 Shapes 或 OLEObjects 集合傳回控制項時,您必須使用圖形名稱 (而不是代號) 來依名稱參照控制項。 例如,假設您新增一個核取方塊到工作表中,而且預設圖案名稱和預設程式碼名稱都是 CheckBox1。 這時如果您藉由在 [屬性] 視窗的 (Name) 旁邊輸入 chkFinished 來變更控制項的程式碼名稱,則必須在事件程序名稱中使用 chkFinished,但是仍然必須使用 CheckBox1 才能從 Shapes 或 OLEObject 集合中傳回控制項,如下列範例所示。
Private Sub chkFinished_Click()
ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1
End Sub
方法
屬性
- Application
- AutoLoad
- Border
- Count
- Creator
- Enabled
- Height
- Interior
- Left
- Locked
- Parent
- Placement
- PrintObject
- Shadow
- ShapeRange
- SourceName
- Top
- Visible
- Width
- ZOrder
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。