我使用以下代码尝试替换Word文档中的某些文本并将副本另存为。
这是我的代码:
Sub Macro1()
Dim app As Word.Application
Dim doc As Word.Document
Set app = CreateObject("Word.Application")
app.Visible = True
Set doc = app.Documents.Open("G:\QUALITY ASSURANCE\03_AUDITS\PAI\templates\Audit Announcement Template.docx")
With app.doc.Content.Find
.Text = "Insert Date"
.Replacement.Text = "Hello"
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With
doc.SaveAs Filename:="G:\QUALITY ASSURANCE\03_AUDITS\PAI\templates\Audit Announcement Template2.doc", _
FileFormat:=wdFormatDocument
doc.Close
app.Quit
End Sub
我在这一行收到编译错误:
With app.doc.Content.Find
有人可以告诉我哪里出错了吗?
答案 0 :(得分:1)
您的With app.doc.Content.Find
不正确,因为doc
不是app
对象的成员,而是您创建的变量。
更改为:With doc.Content.Find
当您打开.docx并且您可能希望保存时,您需要:
doc.SaveAs Filename:="G:\path\file.docx", FileFormat:=WdSaveFormat.wdFormatDocumentDefault
您是早期约束(通过引用),因此不需要CreateObject()
而是您可以简单地:
Set app = new Word.Application