我需要从Excel打开Word文档,并使用Excel电子表格中的文本替换Word文档中文本框中的文本。
我用Word录制了一个宏,它说使用了ActiveDocument
,但是当我尝试在Excel中的代码中使用它时,我得到了Variable not defined error
。
这是我的代码 -
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Open "C:\Users\kmccorma\Desktop\ReportPage.doc"
ActiveDocument.Shapes("Text Box 12").Select
我尝试了objWord.Shapes但是我收到错误,说Object不支持这个属性。
我可以看到Shapes属性与ActiveChart
一起提供,我是否需要对ActiveChart
执行某些操作才能使其生效?
对于VB来说还是比较新的,所以任何帮助都会非常感激。
答案 0 :(得分:1)
这是因为Excel无法识别ActiveDocument
是什么。我建议使用Objects。见这个例子。
Dim objWord As Object, objDoc As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Open("C:\Users\kmccorma\Desktop\ReportPage.doc")
With objDoc.Shapes("Text Box 12")
'~~> Do Something
'.Select
End With