前言

工作里面需要处理上百个Word文档,所以就开始在网上查找宏相关的代码
由于第一次接触宏相关的代码,所以写得肯定不会很好。不过,最后勉强算是解决了问题,为了以后方便查找,就把代码贴上来。

开启、编写宏



勾选上图中的开发工具,就可以显示宏相关的菜单栏了

点击红框内按钮,就可以开始编写和运行宏了

具体代码

Sub 批量操作WORD()Application.ScreenUpdating = False '冻结屏幕,打开各个文件及关闭时屏幕不会晃眼睛,但不知道为什么没有效Dim MyFileName, Dic, Did, i, fileCount, startTime, runTime, MyDocumentName'On Error Resume NextSet objShell = CreateObject("Shell.Application")Set objFolder = objShell.BrowseForFolder(0, "选择文件夹", 0, 0)If Not objFolder Is Nothing Then lj = objFolder.self.path & "\"Set objFolder = NothingSet objShell = NothingstartTime = TimeSet Dic = CreateObject("Scripting.Dictionary")    '创建一个字典对象Set Did = CreateObject("Scripting.Dictionary")Dic.Add (lj), ""i = 0 'i变量用来控制循环的结束Do While i < Dic.CountKe = Dic.keys   '开始遍历字典MyFileName = Dir(Ke(i), vbDirectory)    '查找目录Do While MyFileName <> ""If MyFileName <> "." And MyFileName <> ".." ThenIf (GetAttr(Ke(i) & MyFileName) And vbDirectory) = vbDirectory Then    '如果是次级目录Dic.Add (Ke(i) & MyFileName & "\"), ""  '就往字典中添加这个次级目录名作为一个条目End IfEnd IfMyFileName = Dir    '继续遍历寻找Loopi = i + 1LoopFor Each Ke In Dic.keysMyDocumentName = Dir(Ke & "*.doc*")  '填写所指定的文件类型Do While MyDocumentName <> ""Did.Add (Ke & MyDocumentName), ""MyDocumentName = DirLoopNextDim worddoc   As DocumentfileCount = 0For Each path In DidSet worddoc = Documents.Open(path)worddoc.ActivateCall 处理WORD  '调用宏,换成具体操作word的宏worddoc.Close TruefileCount = fileCount + 1NextSet worddoc = NothingrunTime = Time - startTimeApplication.ScreenUpdating = True '解冻屏幕,让屏幕恢复正常刷新,同样也不知道为什么不起效MsgBox Minute(runTime) & "分" & Second(runTime) & "秒" & "内处理了" & Str(fileCount) & "个word文档"
End SubSub 处理WORD()Set myRange = ActiveDocument.Content'下面就是一些替换操作的代码,可以自行更换为需要的代码myRange.Find.Execute FindText:="2020", ReplaceWith:="2021", Replace:=wdReplaceAllmyRange.Find.Execute FindText:="2日", ReplaceWith:="5日", Replace:=wdReplaceAllmyRange.Find.Execute FindText:="10日", ReplaceWith:="14日", Replace:=wdReplaceAllmyRange.Find.Execute FindText:="WB200", ReplaceWith:="WB300", Replace:=wdReplaceAll
End Sub

这段代码并不完善,感觉存在着下面两个问题:

  1. 无法识别有特殊字符的文件名。如果遇到这样的文件就会处理失败。我自己出现这种情况,就会在提示失败时,选择进入调试模块,然后用鼠标放在下面代码处的MyFileName的变量名上查看出现问题的文件名

MyFileName = Dir(Ke(i), vbDirectory) '查找目录

  1. 在处理过程中无法冻结屏幕

VBA宏批量处理多个Word文档相关推荐

  1. 批量删除多个 Word 文档的空白页

    概要:我们经常会碰到一些包含空白页的 Word 文档,这些空白页怎么删都删不掉.有时候文件较大的时候,还得得一页一页的去找到空白页然后删除,删除后还要反复的检查几次有没有漏删的情况,弄的人心力交瘁!其 ...

  2. 基于pdf2docx模块Python实现批量将PDF转Word文档(安装+完整代码教程)

    PDF文件是一种常见的文档格式,但是在编辑和修改时不太方便,因为PDF本质上是一种静态的文档格式.因此,有时候我们需要将PDF文件转换成Word格式,以便更好地编辑和修改文档.在本篇文章中,我们将介绍 ...

  3. Python批量提取docx格式Word文档中所有文本框内的文本

    功能描述: 批量提取指定Word文档(docx格式)中所有文本框中的文本. 测试文件: 参考代码: 执行结果:

  4. 批量导入数据将word文档转换成HTML文档

    1.在批量导入数据里:第一步下载一个word文档模板,用户可以根据这个worm文档模板的要求去填写数据,填学好数据之后保存worm文档 2.在页面选择到word文档保存到from表单中,通过ajaxS ...

  5. 批量将 PDF 转为 Word 文档,支持 Docx、Doc 格式

    概要:PDF 和 Word 这两种格式是非常常见的,并且相互之间也经常需要进行格式转化.Word 转 PDF是非常容易就能做到的,但是 PDF 转 Word 就经常会碰到各种各样的问题,比如格式错乱. ...

  6. 如何批量将多个 Word 文档快速合并成一个文档

    概要:「我的ABC软件工具箱」提供了文档合并的功能,其中就包括了 Word 拆分成单个文件.我们可以根据需要将文件夹中的多个 Word 文档按照一定的顺序进行合并,这样可以把多个 Word 文档整合形 ...

  7. 如何批量将多个 Word 文档按指定页分别拆分成多个文档

    概要:「我的ABC软件工具箱」提供了文档拆分的功能,其中就包括了 Word 拆分成多个文件,可以根据需要指定拆分后的每个文档最多的页数,这样可以把一个文档分成多个独立的文档.非常的方便与实用. Wor ...

  8. Python批量提取docx格式Word文档中所有批注

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: 用书教师可以联系董老师获取教学大纲.课件.源码.教案.考试系统等配 ...

  9. 基于Python中docx与docxcompose批量合并多个Word文档文件并逐一添加分页符

      现有多个Word文件,需将其按名称顺序合并为一个新的Word文件,且需保证每一次合并时,都另起一页(即新的Word文件一页中,不能出现两个及以上的原本Word文件的内容).   一般的,实现多个W ...

最新文章

  1. python在excel中的应用-Python 取代了 Excel 在银行业务中的地位?
  2. 中国python之父是谁-Python之父重回决策层
  3. mysql的如何输入dateadd_mysql中date_add()函数的使用?
  4. linux python代码编辑器,Linux上的Python编辑器
  5. 区块链之智能合约入门
  6. java容器怎么封装的_docker怎么把容器打包成镜像
  7. Spring Cloud 知识 思维导图
  8. 找出不是两个数组共有的元素_[数组] N数之和问题
  9. 服务器iso文件如何打开方式,iso文件怎么打开(iso文件用什么打开)
  10. 功能测试报告模板_接口测试用例和报告模板
  11. ksearch系统开发过程中遇到的KFC性能问题
  12. Ubuntu20.04 添加右键新建文件
  13. 使用AutoHotKey(AHK)自动将多行内容转成单行,并翻译,或获取中文拼音
  14. verilog 多路选择器 multiplexer
  15. node+nginx-web部署
  16. IT人的英语歌单:没有Bug的日子充满了Sunshine
  17. 无边界网络的划分建立
  18. OpenCT—北京师范大学教育学博士罗海风创建大型教育类网络社区
  19. [AH/HNOI2017]礼物
  20. Unity 设置帧率和垂直同步

热门文章

  1. 用树莓派搭建公网个人下载平台aria2-pro,推荐6个优质种子资源站
  2. js中图片base64格式转文件对象
  3. 9x9九宫格java_9x9九宫格数独填写规律
  4. 读《学会提问》有感(一)
  5. 一文读懂MySQL常用语法
  6. 为Symbian程序中的图片增加半透明效果
  7. jmeter计算测试QPS
  8. IT圈持续部署并不是毫不费力 确是不平凡
  9. 卡片游戏--循环队列实现
  10. Android_个人中心_修改个人信息