如何为Excel编程添加对Excel VBA的引用

时间:2016-04-22 17:39:15

标签: excel vba excel-vba

我正在尝试编写一个使用Word对象创建基于Word模板文档的Word文档的宏。

当我使用Option Explicit时,我遇到了一些困难。没有它,我可以省略Dim ...行,但我希望那里。

以下是目前的代码:

Option Explicit
Sub PopulateWordDoc()
    Dim wApp As Object
    Set wApp = CreateObject("Word.Application")
    Dim wdDoc As Word.Document ' User-defined type not defined error on this line
    Set wDoc = wApp.Documents.Open("C:\path\WordTestTemplateDoc.dotx", ReadOnly:=False)

    With wDoc
        .Content.Find.Execute FindText:="<Project ID>", ReplaceWith:="This is the project id....."
        .SaveAs2 Filename:=("C:\path\NewWordDoc.docx"), FileFormat:=wdFormatXMLDocument, AddtoRecentFiles:=False
    End With

End Sub

2 个答案:

答案 0 :(得分:2)

将VBE中的引用添加到Microsoft Word xx.0 Object Library,如本文所述:

https://msdn.microsoft.com/en-us/library/office/gg264402.aspx

之后,VBE甚至会为您编写Excel代码时提供自动完成功能。

答案 1 :(得分:0)

OptionExplicit使得你绝对必须声明你使用的所有东西。通过不添加语句,您告诉VB编译器它可以控制确定从未声明的变量类型。这有点懒,可能导致潜在的问题。您应该始终声明所有变量。