有多个word文件,怎么用vba批量替换文中内容
04-20
要想一下子就替换掉很多个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