群里一位朋友问到,如何一次性批量替换多个word文档中的同一内容。其实,实现多个Word文档的字符进行批量替换的方法有多种。
第一种方法,可以利用第三方软件:全能字符串批量替换机。在网上可以下载到这款软件,利用该软件可以实现多个Word文档字符进行批量替换。
第二种方法,使用VBA实现,下面是具体操作步骤。
第一,首先将需要批量替换的多个Word文档放在同一文件夹下面。
第二,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。
第三,在控件工具箱上单击“命令按钮”,文档中就放置了一个按钮了。
第四,双击该按钮,进入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 = "IT部落窝"
.Replacement.Text = "www.ittribalwo.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文档中的"IT部落窝"被替换为"www.ittribalwo.com"了。
说明:在实际使用中,可以更改上面代码中的""引号里的字符内容为实际需要批量替换的内容即可。如下所示。
.Text = "IT部落窝"
.Replacement.Text = www.ittribalwo.com
关于控件工具箱的使用请参考文章:《Word控件工具箱的使用和实例(多选题制作)》