ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1342|回复: 4

[求助] 遍历文件夹word中替换内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-11-19 10:42 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
编写了以下代码,想对指定文件夹下的多个word进行特定文本的批量替换,但不起作用,求助大佬指出代码错误之处?

  1. Sub test()
  2.     Dim glkFileDialog As FileDialog '定义选择文件对话框
  3.     Dim glkSelectedItem As Variant  '定义变量
  4.     Dim glkDoc As Document '定义文档
  5.     Set glkFileDialog = Application.FileDialog(msoFileDialogFilePicker) '设置变量
  6.     With glkFileDialog '设置对话框属性
  7.         .Filters.Clear '清除过滤器
  8.         .Filters.Add "所有Word文件", "*.Docx", 1 '添加过滤条件
  9.         .AllowMultiSelect = True '允许多选
  10.         If .Show = -1 Then '如果按 【打开】
  11.             Application.ScreenUpdating = False '关闭屏幕更新
  12.             For Each glkSelectedItem In .SelectedItems 'For  - Next循环
  13.                 Set glkDoc = Documents.Open(FileName:=glkSelectedItem, Visible:=False)         '后台打开所选文档
  14.                 Selection.Find.ClearFormatting
  15.                 Selection.Find.Replacement.ClearFormatting
  16.                 With Selection.Find
  17.                     .Text = "测试"
  18.                     .Replacement.Text = "替换"
  19.                     .Forward = True
  20.                     .Wrap = wdFindContinue
  21.                     .Format = False
  22.                     .MatchCase = False
  23.                     .MatchWholeWord = False
  24.                     .MatchByte = True
  25.                     .MatchWildcards = False
  26.                     .MatchSoundsLike = False
  27.                     .MatchAllWordForms = False
  28.                 End With
  29.                 Selection.Find.Execute Replace:=wdReplaceAll
  30.                 glkDoc.Save
  31.                 glkDoc.Close
  32.                
  33.             Next
  34.             Application.ScreenUpdating = True '启用屏幕更新
  35.             MsgBox "所选文档替换完毕!", vbInformation
  36.         Else '如果按 【取消】
  37.             MsgBox "您取消了本次操作!", vbInformation
  38.         End If
  39.     End With
  40. End Sub
复制代码


TA的精华主题

TA的得分主题

发表于 2019-11-19 13:42 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-11-19 19:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Selection修改为glkDoc.Content

TA的精华主题

TA的得分主题

发表于 2020-6-13 14:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼主实现需求了么?

TA的精华主题

TA的得分主题

发表于 2020-6-28 14:19 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 11:38 , Processed in 0.036573 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表