VB Excel - 当用VB从VB打开word文档时,我得到一个未定义的变量'尝试使用ActiveDocument时出错

时间:2014-06-06 10:52:51

标签: excel excel-vba ms-word vba

我需要从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来说还是比较新的,所以任何帮助都会非常感激。

1 个答案:

答案 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