使用VBA访问activeX控件时,运行时错误“438”问题
我一直在寻找互联网,似乎无法find我的问题的答案!
我在Excel 2010中创build了一个使用ActiveX控件(特别是文本框和combobox)的电子表格。
我遇到了一个问题,当我保存电子表格,closuresExcel并重新打开文件时,所有的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
我错过了什么?
每个微软的 PS:
Sheets("CoverSheet").OLEObjects("TextBox1").Object.Value = "Date"
应该工作..
您可以尝试将代码添加到VBA编辑器(而不是VBAProject)中的工作表“CoverSheet”,并查看是否在任何行中遇到此问题:
TextBox1.Text = "Date" TextBox1.Value = "Date"
如果你仍然遇到同样的问题,看看这个post,看看是否有帮助解决scheme: 无法获得OLEObject类的对象属性 – Excel Interop