首页 > 办公 > Word > 正文

VBA批量替换多个WORD文档中的内容

2024-08-22 13:26:47
字体:
来源:转载
供稿:网友

  要想一下子就替换掉很多个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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表