我一直在互联网上搜索,似乎找不到我问题的答案!
我在 Excel 2010 中创建了一个使用 ActiveX 控件(特别是文本框和组合框)的电子表格。
我遇到了一个问题,当我保存电子表格、关闭 Excel 并重新打开文件时,所有 ActiveX 控件都不想配合。我不断收到运行时错误"438"无法获取 OLEObject 类的对象属性。我尝试以多种方式访问 OLEObject:(见下文)
Sub ResetSheet()
Sheets("CoverSheet").OLEObjects("TextBox1").Object.Value = "Date"
Sheets("CoverSheet").OLEObjects(1).Object.Value = "Date"
End Sub
两行都会抛出上面的运行时错误。但是这样的事情没有问题:
Sheets("CoverSheet").OLEObjects(1).Delete
我到底错过了什么?!
附言每Microsoft:
Sheets("CoverSheet").OLEObjects("TextBox1").Object.Value = "Date"
应该工作..
您能否尝试将代码添加到 VBA 编辑器(而不是 VBAProject)中的工作表"封面"中,看看您是否在任何一行中再次遇到此问题:
TextBox1.Text = "Date"
TextBox1.Value = "Date"
如果您仍然遇到同样的问题,请查看这篇文章,看看那里的解决方案是否有帮助:无法获取 OLEObject 类的 Object 属性 - Excel 互操作