应用背景
在大学期间,我就在给著名教育机构当中的英语名师李老师做助教,在助教的工作过程当中,有一项工作是进行word文档的修改,但数量较多,每次修改到最后都些许心累,期间一直在寻找可以进行批量修改的方法,我曾经考虑使用C语言,python语言来进行相应的操作,基本思路就是写一个脚本文件,令其完成所有的工作,但始终是不了了之。 期间,我也曾找到批量修改word文档的软件工具,为XCLWinKits,我也立刻购买了他的会员,其功能还是比较强大,大大减轻了我的工作量,如果看到这篇博客的同学有需要使用,可以从下面的链接下载,虽然减轻了不少工作,但是还是非常繁琐,毕竟几百个文件开开关关,还是不是非常方便的,而且容易出错,最终我找到了office自带的编程语言,VBA,比较好用,而且编译环境比较简单,只要可以安装office应该就可以。 (https://www.wodeabc.com/coupon/102126/1001957)一、功能需求
1、完成word文档中批量删除指定位置表格的功能
2、完成word文档中批量删除指定位置图片的功能
3、完成在第一页末尾添加分页符的功能
4、完成修改word文档中指定表格内容的功能
二、功能设计
1.实现流程
功能实现流程如下:
上图流程当中循环文件夹中所有文件个数的次数
2.代码文件
代码如下(示例):
Sub 修改文档()
Dim doc As Document, myFile As String
Dim rng As Range
Dim rngO As Range
myFile = Dir(" & "*.docx")
Do While myFile <> ""
myFile = "文件目录" & myFile
Set doc = Word.Documents.Open(myFile)
'插入分页符
Set rng = doc.Range(Start:=doc.Paragraphs(68).Range.Start, _
End:=doc.Paragraphs(68).Range.End)
rng.InsertBreak
'修改次数
Set rngO = ActiveDocument.Range(Start:=ActiveDocument.Tables(1).Cell(1, 2).Range.Start, _
End:=ActiveDocument.Tables(1).Cell(1, 2).Range.End
rngO.Text = "9次
Set rngO = ActiveDocument.Range(Start:=ActiveDocument.Tables(1).Cell(1, 2).Range.Start + 1, _
End:=ActiveDocument.Tables(1).Cell(1, 2).Range.End)
rngO.Font.Size = 14
'删除指定图片表格
On Error Resume Next '该条语句的含义是如果出现错误就继续执行下一 条语句
doc.InlineShapes(5).Delete
doc.InlineShapes(12).Delete
doc.Tables(3).Delete
doc.Tables(3).Delete
doc.Save
doc.Close
Set doc = Nothing
Set rng = Nothing
Set rngO = Nothing
myFile = Dir
Loop
End Sub
总结
以上为本次WORD VBA批量修改文件的主要程序流程以及代码文件
没想到第一次在优快云上面写博客是写的VBA的内容
程序基本完成了所需要的功能,现有程序配合XCL基本上可以非常迅速地完成现在工作所需要地内容,当然还需要进一步的学习和练习
这篇博客分享了作者使用VBA进行WORD文档的批量处理经验,包括删除指定位置的表格和图片、添加分页符以及修改表格内容等功能的设计与实现流程。通过示例代码展示了VBA在提高工作效率上的应用。
1041

被折叠的 条评论
为什么被折叠?



