萬盛學電腦網

 萬盛學電腦網 >> WORD教程 >> WORD使用技巧 >> VBA批量替換多個WORD文檔中的內容

VBA批量替換多個WORD文檔中的內容

  要想一下子就替換掉很多個WORD文檔中的內容,我們得使用VBA的辦法才能實現,下面是方法,請過目。

  一、前期准備

  下面是具體操作步驟。

  A,首先將需要批量替換的多個Word文檔放在同一文件夾下面。

  B,新建一空白Word文檔,右擊空白工具欄,單擊“控件工具箱”,就可以看到屏幕上調出的控件工具箱。

  C,在控件工具箱上單擊“命令按鈕”,文檔中就放置了一個按鈕了。

  D,雙擊該按鈕,進入VB代碼編寫模式,將以下代碼復制進去。

  二、命令按鈕的代碼

  Private Sub CommandButton1_Click()

  Application.ScreenUpdating = False

  Dim myPas As String, myPath As String, i As Integer, myDoc As Document

  With Application.FileDialog(msoFileDialogFolderPicker)

  .Title = "選擇目標文件夾"

  If .Show = -1 Then

  myPath = .SelectedItems(1)

  Else

  Exit Sub

  End If

  End With

  myPas = InputBox("請輸入打開密碼:")

  With Application.FileSearch

  .LookIn = myPath

  .FileType = msoFileTypeWordDocuments

  If .Execute > 0 Then

  For i = 1 To .FoundFiles.Count

  Set myDoc = Documents.Open(FileName:=.FoundFiles(i), Passworddocument:=myPas)

  Selection.Find.ClearFormatting

  Selection.Find.Replacement.ClearFormatting

  With Selection.Find

  .Text = "OfficeStudy"

  .Replacement.Text = "www.dzwebs.com"

  .Forward = True

  .Wrap = wdFindAsk

  .Format = False

  .MatchCase = False

  .MatchWholeWord = False

  .MatchByte = True

  .MatchWildcards = False

  .MatchSoundsLike = False

  .MatchAllWordForms = False

  End With

  Selection.Find.Execute Replace:=wdReplaceAll

  myDoc.Save

  myDoc.Close

  Set myDoc = Nothing

  Next

  End If

  End With

  Application.ScreenUpdating = True

  End Sub

  保存上面代碼,退出VB編輯模式,返回Word文檔界面。

  單擊選中該按鈕,再單擊控件工具箱的第一個按鈕“退出設計模式”。

  最後,就可以進行測試:再次點擊按鈕,就會發現該文件夾下面的所有WORD文檔中的"OfficeStudy"被替換為"www.dzwebs.com"了。

  說明:在實際使用中,可以更改上面代碼中的""引號裡的字符內容為實際需要批量替換的內容即可。如下所示。

  .Text = "OfficeStudy"

  .Replacement.Text = www.dzwebs.net

copyright © 萬盛學電腦網 all rights reserved