好的,所以我能够在MS Word文档中使用VBA成功更改嵌入式Excel工作表...从附加到该文档的代码中。
现在我正在尝试从MS Access更改MS Word文档中的相同嵌入式Excel工作表。我已成功连接到该文档,并且能够更改其他项目;比如图像内容控件的图片,标题中字段的文本等
我使用与实际文档中相同的代码。这是我在Word中做到的方式(工作正常):
Dim oleObj as OLEFormat
Set oleObj = Me.Shapes("tblEBACostHistory").OLEFormat
oleObj.Activate
oleObj.Object.Sheets(1).Range("A3") = "test"
SendKeys "{ESC}"
Set oleObj = nothing
这是我在Access中的代码:
Dim oleObj as OLEFormat
Set oleObj = wdDoc.Shapes("tblEBACostHistory").OLEFormat
最后一行是失败的,并给我一个“类型不匹配”错误。 'wdDoc'很好,因为我已经能够对文档进行其他更改。
思想?
答案 0 :(得分:2)
好的,我回答了自己的问题。 “Type Mismatch”错误让我尖叫,这是某种参考库问题。我已经包含了Microsoft Word 14.0对象库,所以我无法弄清楚它为什么失败了。然后它来找我:
所以我改变了:
Dim oleObj as OLEFormat
为:
Dim oleObj as Word.OLEFormat
它有效!