[英]How to read/set Excel Textbox property from MS-Access VBA
我在 Excel 工作表 (.xlsx) 中有一个简单的文本框,我可以在其中读取 Excel VBA 子中的 BackColor 属性:
Debug.Print TextBox1.BackColor
我正在尝试使用 Excel 16 Object Model 从 MS-Access 引用相同的文本框,但它看不到我正在查看的任何 Excel 工作表对象下的文本框
它在下面标有星号的行上出错并显示错误消息
未找到方法或数据成员
Public Sub SetHexColor()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = GetObject(, "Excel.Application")
Set xlBook = Workbooks.Open("C:\Users\.........\Documents\TextBox.xlsx")
Set xlSheet = xlBook.Worksheets(1)
**Debug.Print xlSheet.TextBox1.BackColor**
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
在 Excel 中是否有另一种方法可以引用并最好设置文本框控件的属性?
如果可能的话,我不想打电话给 Excel function 来设置属性——或者这就是问题所在——它必须是一个 xlsm 文件?
Excel.Worksheet
是一个通用工作表 object - 它只提供对工作表“开箱即用”方法的访问Worksheet
:如果您通过添加诸如TextBox1
之类的成员来“子类化”您的工作表,那么您将无法访问那些添加的成员通过通用Worksheet
类型。
你可以这样做
Dim xlSheet As Object
或者按原样保留声明,并使用类似的东西
Debug.Print xlSheet.OLEObjects("TextBox1").Object.BackColor
请注意,这并不特定于从访问 VBA 自动化 Excel - 如果完全在 Excel 内工作,情况也是如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.