Sub ReplaceAllInFolder()
Dim blnFirstLoop As Boolean
Dim strFile As String
Dim strPath As String
Dim objDoc As Document
Dim Response As Long
'指定要进行替换操作的文件夹
'你可以修改为你自己的文件夹
strPath = 'C:\test\'
'忽略掉关闭查找和替换对话框时触发的错误
On Error Resume Next
'设置是否在第一次循环时执行的语句
'用于仅对第一个文档显示查找和替换对话框
blnFirstLoop = True
'设置文件夹目录及批量处理的文件类型
strFile = Dir$(strPath & '*.doc*')
'遍历文件夹中的文档
While strFile <> ''
'打开文档
Set objDoc = Documents.Open(strPath & strFile)
If blnFirstLoop Then
'仅在第一次循环时显示查找和替换对话框
Dialogs(wdDialogEditReplace).Show
blnFirstLoop = False
Response = MsgBox('想要处理这个文件中其他文件吗?',vbYesNo)
If Response = vbNo Then Exit Sub
Else
'遍历文档文件,执行替换操作而不会再显示对话框
With Dialogs(wdDialogEditReplace)
.ReplaceAll = 1
.Execute
End With
End If
'保存且关闭修改后的文档
objDoc.Close SaveChanges:=wdSaveChanges
'下一个文档
strFile = Dir$()
Wend
End Sub
联系客服