运行时错误'438'使用 VBA 访问 activeX 控件的问题



我一直在互联网上搜索,似乎找不到我问题的答案!

我在 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 互操作

最新更新