我在让我的嵌入式文档在旧版本的 MS Office 上运行时遇到问题。我相信问题在于我如何声明我的对象,但不确定如何使用后期绑定声明我的嵌入式文档(我对这个概念和 vba 仍然很陌生)。下面是我目前如何与一段代码一起进行变量声明。它在 Excel 2013 中运行良好,但由于我声明变量的方式(我相信),它在 2010 年无法运行。
Dim oDoc As Word.Document
Dim oTemplate As Word.Document
Dim wdObj As OLEObject
Dim wdObj2 As OLEObject
'Deselect anything selected
Range("A1").Select
'Copy content of template
Set wdObj = Sheets("Template").OLEObjects("Template")
wdObj.Activate
Set oTemplate = wdObj.Object
oTemplate.Content.Copy
'Initialize letter document
Set wdObj2 = Sheets("Report").OLEObjects("Letter")
wdObj2.Activate
Set oDoc = wdObj2.Object
'Erase contents and replace with clean template
oDoc.Content.Delete
oDoc.Range.PasteAndFormat _
wdFormatOriginalFormatting
我尝试将 oDoc 和 oTemplate 设置为“作为对象”,但不确定如何将它们链接回 word 对象。这样做只会导致库引用在 PasteAndFormat 调用的“wdFormatOriginalFormatting”上失败。
我一直在扯头发试图弄清楚这一点。任何帮助将不胜感激。谢谢!