有时需要根据一个WORD模板批量生成文档,文档中的部分内容来自于EXCEL表格,这时可以在EXCEL中使用VBA编写以下程序。
Sub temp()
Dim wordapp As Word.Application
Set fs = CreateObject("Scripting.FileSystemObject")
Set fileSource = fs.GetFile("E:\00PROP\\test.doc")
Set wordapp = CreateObject ("Word.Application)
wordapp.Visible = True
For i=2 To 3
'复制文件
strFileName="E:\O0PROP\面页\test" & i & ".doc"
fileSource.Copy strFileName
'打开文件
wordapp.Documents.Open strFileName
'查找并替换占位符
wordapp.Selection.Find.Execute FindText:="占位符1", Forward:=True, ReplaceWith:=Range("A" & i).Text
wordapp.Selection.WholeStory
wordapp..Selection.Find.Execute FindText:="占位符2", Forward:=True, ReplaceWith:=Range("B" & i).Text
wordapp.Selection.WholeStory
wordapp.Selection.Find.Execute FindText:="占位符3", Forward:=True, ReplaceWith:=Range("C" & i).Text
'关闭文档
wordapp.Documents.Close True
Next i
End Sub
上述程序使用的WORD模板文件为E:\00PROP\\test.doc,该文件中使用“占位符1”、“占位符2”...标记需要使用EXCEL中数据替换的部分,需要替换的数据存储在EXCEL表中的A列、B列...