前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Word VBA技术:对文件夹中的所有文档进行批量替换操作

Word VBA技术:对文件夹中的所有文档进行批量替换操作

作者头像
fanjy
发布于 2023-02-24 12:28:48
发布于 2023-02-24 12:28:48
2.1K00
代码可运行
举报
文章被收录于专栏:完美Excel完美Excel
运行总次数:0
代码可运行

标签:Word VBA

下面的代码将对指定文件夹中的所有文档中的内容执行指定的替换操作。执行代码后,仅在打开第一个文档后,显示“查找和替换”对话框,供用户在对话框中设置替换的文本,然后按下“全部替换”按钮,接着按下“关闭”按钮。此时,程序会询问用户是否处理指定文件夹中的所有文件,如果单击“是”,则使用刚才在“查找和替换”对话框中输入的设置处理其余文件。

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub ReplaceAllInFolder()
 Dim blnFirstLoop As Boolean
 Dim strFile As String
 Dim strPath As String
 Dim objDoc As Document
 Dim Response As Long

'指定要进行替换操作的文件夹
'你可以修改为你自己的文件夹
 strPath = "C:\test\"

'忽略掉关闭查找和替换对话框时触发的错误
 On Error Resume Next

'设置是否在第一次循环时执行的语句
'用于仅对第一个文档显示查找和替换对话框
 blnFirstLoop = True

'设置文件夹目录及批量处理的文件类型
 strFile = Dir$(strPath & "*.doc*")

'遍历文件夹中的文档
 While strFile <> ""
  '打开文档
   Set objDoc = Documents.Open(strPath & strFile)

   If blnFirstLoop Then
    '仅在第一次循环时显示查找和替换对话框
     Dialogs(wdDialogEditReplace).Show
     blnFirstLoop = False
    Response = MsgBox("想要处理这个文件中其他文件吗?",vbYesNo)
    If Response = vbNo Then Exit Sub
   Else
    '遍历文档文件,执行替换操作而不会再显示对话框
    With Dialogs(wdDialogEditReplace)
      .ReplaceAll = 1
      .Execute
    End With
   End If

   '保存且关闭修改后的文档
    objDoc.Close SaveChanges:=wdSaveChanges
   '下一个文档
    strFile = Dir$()
 Wend
End Sub
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档