我正在尝试编写一个使用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
答案 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编译器它可以控制确定从未声明的变量类型。这有点懒,可能导致潜在的问题。您应该始终声明所有变量。