写一个word 多个文档合并成一个文档VBA程序
时间: 2023-08-15 14:06:19 浏览: 530
以下是一个简单的 VBA 程序,可以将指定目录下的所有 Word 文档合并到一个文档中:
```VBA
Sub MergeWordDocs()
Dim objWord As Object
Dim objDoc As Object
Dim objSelection As Object
Dim strPath As String
Dim strFile As String
Dim strFolder As String
'选择文件夹路径
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
If .SelectedItems.Count = 0 Then Exit Sub
strFolder = .SelectedItems(1) & "\"
End With
'新建一个 Word 对象
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'新建一个空文档
Set objDoc = objWord.Documents.Add
'循环遍历目录下的所有 Word 文档
strFile = Dir(strFolder & "*.doc")
Do Until strFile = ""
'打开文档
objWord.Documents.Open strFolder & strFile
'选中文档内容
Set objSelection = objWord.Selection
objSelection.WholeStory
objSelection.Copy
'将文档内容粘贴到新文档中
objDoc.Range.Paste
'关闭文档
objWord.ActiveDocument.Close
'继续下一个文档
strFile = Dir
Loop
'保存新文档
objDoc.SaveAs strFolder & "合并文档.doc"
'关闭 Word 对象
objWord.Quit
'释放对象
Set objDoc = Nothing
Set objWord = Nothing
Set objSelection = Nothing
MsgBox "合并完成!"
End Sub
```
使用方法:
1. 将上述代码复制到一个新的 VBA 模块中。
2. 打开一个新的 Word 文档,按下 Alt+F8 打开宏窗口,运行 MergeWordDocs。
3. 选择要合并的 Word 文档所在的文件夹,点击“确定”开始合并。
4. 合并后的文档将保存在原文件夹中,命名为“合并文档.doc”。
注意事项:
1. 该程序只能合并 .doc 格式的 Word 文档,如果要合并 .docx 格式的文档,需要修改程序中的文件扩展名。
2. 合并后的文档中可能会出现格式混乱、页眉页脚丢失等问题,需要手动调整。
阅读全文