下麪的代碼將對指定文件夾中的所有文档中的內容執行指定的替換操作。執行代碼後,僅在打開第一個文档後,顯示“查找和替換”對話框,供用戶在對話框中設置替換的文本,然後按下“全部替換”按鈕,接著按下“關閉”按鈕。此時,程序會詢問用戶是否処理指定文件夾中的所有文件,如果單擊“是”,則使用剛才在“查找和替換”對話框中輸入的設置処理其餘文件。SubReplaceAllInFolder()
DimblnFirstLoop As Boolean
DimstrFile As String
DimstrPath As String
DimobjDoc As Document
DimResponse As Long
'指定要進行替換操作的文件夾
'你可以脩改爲你自己的文件夾
strPath='C:\test\'
'忽略掉關閉查找和替換對話框時觸發的錯誤
OnError Resume Next
'設置是否在第一次循環時執行的語句
'用於僅對第一個文档顯示查找和替換對話框
blnFirstLoop=True
'設置文件夾目錄及批量処理的文件類型
strFile = Dir$(strPath & '*.doc*')
'遍歷文件夾中的文档
WhilestrFile <> ''
'打開文档
Set objDoc = Documents.Open(strPath & strFile)
IfblnFirstLoop Then
'僅在第一次循環時顯示查找和替換對話框
Dialogs(wdDialogEditReplace).Show
blnFirstLoop=False
Response = MsgBox('想要処理這個文件中其他文件嗎?',vbYesNo)
If Response = vbNo Then Exit Sub
Else
'遍歷文档文件,執行替換操作而不會再顯示對話框
WithDialogs(wdDialogEditReplace)
.ReplaceAll=1
.Execute
End With
EndIf
'保存且關閉脩改後的文档
objDoc.CloseSaveChanges:=wdSaveChanges
'下一個文档
strFile=Dir$()
Wend
EndSub
0條評論