【分享成果,随喜正能量】给你职场:与其羡慕别人,不如做好自己。肤浅的羡慕,无聊的攀比,笨拙的效仿,只会让自己整天生活在别人的影子里。盲目的比较不会带来幸福,只会带来麻烦;不会带来幸福,只会带来痛苦。我们每个人都应该认识到现在的自己,找到自己的位置,走自己的路,工作场所,越努力,越幸运!
《VBA之Word应用是我推出的第八套教程,专门讲解VBA在Word围绕面向对象编程的象编程的解释,首先让每个人都知道Word中VBA对象,以及对象的属性和方法,然后通过实例让大家感受到Word VBA 的妙处。
本教程共三卷16章,其中前15章是对各种对象属性和方法的解释。每个部分都有一个特殊的例子来解释这些属性方法的具体应用。最后一章是解释结和具体的应用场景,在实际工作中有28个常见的例子。在上一讲的Word VBA我在内容中解释Word书签收藏对象的知识包括书签的属性和方法。以及如何添加书签更丰富,是对书签的判断操作,以下是第二章书签收藏Bookmarks对象及书签Bookmark对象的内容,今天的解释是第8节:批量替换模板中固定字段的内容,并将其存储为新文件
第八节 批量更换模板中固定字段的内容并存储为新文件大家好,今天我们将讲解书签内容的最后一个故事,这是第五节内容的延伸,也是Word批量处理替换文档中固定字段最常见的方案。我希望你能仔细学习和掌握它。
1 批量替换文档中固定字段的场景和思路分析我们在平时Word在操作中,最常见的操作是批量更换模板中的固定字段,并保存新文件.以下模板截图:
电脑这是我的一份《VBA根据学生姓名的不同,初级阶段自测题的文档,将文档中的姓名、年龄、籍贯修改成不同的文档并分别保存,最后形成几个不同的文档。当然,在实际工作中,不一定是这个自测题的文档,可能是抗击疫情的表格,可能是问卷,也可能是通知发布的文档。当然,在实际工作中,不一定是这个自测题的文档,也许是抗击疫情的表格,或者是问卷调查,或者是通知布的文档。这种场景在实际工作中被广泛使用。如果是手动操作,则需要单独打开模板文件,修改上述固定字段并保存。这种操作只是一种重复操作,没有技术内容,但往往不会出错。
我们知道,对于这种数据处理,VBA是强项。利用VBA最方便处理此类应用程序,可根据自身需要随时调整代码框架。
那么,利用VBA如何在批量替换文档中完成固定字段?下面我们来看看思路的分析:
将不同的书签插入模板文件中需要替换的固定字段。
2)利用VBA代码检测模板中的书签将光标放置在第一个书签处,并将选定的内容扩展到书签行的末尾。
3)替换所选范围
4)重复上述2)动作,但这次将光标放在第二个书签处,并将选定的内容扩展到书签行的末尾。
5)替换选定范围。
6)重复上述2)动作,但这次将光标放在第三个书签处,并将选定的内容扩展到书签行的末尾。
5)替换选定范围。
我们的第一个文档是通过上述操作完成的,并将其存储为新文件。
2 在批量替换文档中固定字段的代码先来看看我给出的代码:
Sub mynzI() ';批量修改文档内容
Dim A(3)
Dim myDoc As Document
Dim TEM As String
A(1) = Array(电脑4;李冰冰", "23", "丹麦")
A(2) = Array("赵冰冰", "25", "唐山")
A(3) = Array("白冰冰", "24", "湖北")
For t = 1 To 3
Set myDoc = Documents.Open(ActiveDocument.Path & "\\示例02.docx")
For I = 1 To 3
Selection.GoTo What:=wdGoToBookmark, Name:="C00" & I
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
UU = A(t)
TEM = UU(I - 1)
Selection.Text = TEM & vbCr
Next
ActiveDocument.SaveAs2 UU(0) & "自测题"
ActiveDocument.Close (True)
Next
End Sub
代码截图:
3 批量替换文档中固定字段代码的解释和测试效果为了完成我们的测试,我们必须首先将书签插入模板中的固定字段前一章详细介绍了具体操作。插入的书签如下截图所示:
电脑让我们来看看代码的解释:
1)Dim A(3) 定义一个一维数组,我没有给出数组的类型,这是一个Variant。
2) A(1) = Array("李冰冰", "23", "丹麦")
A(2) = Array("赵冰冰", "25", "唐山")
A(3) = Array("白冰冰", "24", "湖北")
以上是我们定义的三个数组元素,每个元素或数组。外层数组是我们要形成的三个文件,内层数组是每个文件中要替换的每个字段。
3) For t = 1 To 3
Set myDoc = Documents.Open(ActiveDocument.Path & "\\示例02.docx")
内循环(同4)
ActiveDocument.SaveAs2 UU(0) & "自测题"
ActiveDocument.Close (True)
Next
建立上述代码的第一层循环,在这个循环中,模板文件将首先打开,在内循环中处理,最后存储为新命名的文件并关闭。
4) For I = 1 To 3
Selection.GoTo What:=wdGoToBookmark, Name:="C00" & I
Selection.EndKey Unit:=wdLine, Extend:=wdExtend
UU = A(t)
TEM = UU(I - 1)
Selection.Text = TEM & vbCr
Next
这是内层循环,内层循环,首先,我们将光标转换为Name:="C00" & I处;
然后将选择范围扩展到整行的末尾(Selection.EndKey Unit:=wdLine, Extend:=wdExtend将选择范围扩展到行为单位的末尾);TEM = UU(I - 1) 提取数组元素; Selection.Text = TEM & vbCr替换刚才选择的内容,vbCr是换行符。
代码测试效果:
运行后,三个独立的文件,如红框文件,将根据模板文件(实例02文件)形成。
代码测试效果:运行后,三个独立的文件,如红框文件,将根据模板文件(实例02文件)形成。打开其中一份文件查看内容:从以上结果可以看出,我们最初的要求已经完成。
今日内容回:
1 批量修改文档中固定字段的想法是什么?
2 双重循环应用于批量修改文档中固定字段的代码中。它们的目的是什么?
本内容参考程序文件:Doc 002文档.docm
VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA应用定义。如何学习VBA呢? 一般来说: 在学习过程中,我们应该相信、解决、接受和持有,并有回归的业力。无论你在学习的任何阶段,你都应该根据教程的知识点来支持你的实际工作,总会有丰厚的收获。根据自己多年VBA实际利用经验,推出八部VBA专门教程。第1套教程:VBA代码解决方案 ;第2套教程:VBA第三套教程:VBA第四套教程:VBA视频代码解决方案(第一套视频解释);第五套教程:VBA第六套教程:VBA第七套教程:VBA之EXCEL第八套教程:VBA之Word应用(最新)。以上教程的学习顺序:
① 7→1→3→2→6→5或者7→4→3→2→6→5 ② 7→8第一套:VBA代码解决方案 是VBA讲解各知识点,教程共147讲,覆盖绝大多数VBA提供的程序文件是一个罕见的代码宝库,是初中和中级人员必备的教程;目前,本教程提供的版本是第二版修订,程序文件通过32位和64位OFFICE系统测试。第二套:VBA数据库解决方案 数据库是数据处理的专业武器,教程详细介绍了使用ADO连接ACCDB和EXCEL适合中级人员学习的方法和实例操作。第二套:VBA数据库解决方案 数据库是数据处理的专业武器,教程详细介绍了使用ADO连接ACCDB和EXCEL适合中级人员学习的方法和实例操作。目前,本教程提供修订教程的第一版,程序文件通过32位和64位OFFICE系统测试。第三套:VBA数组和字典解决方案 数组和字典是VBA字典是字典的精华VBA提高代码水平的有效手段值得深入学习,是初级和中级人员提高代码水平的手段。本教程提供的版本是第一版修订,程序文件通过32位和64位OFFICE系统测试。第四套:VBA视频代码解决方案 是专门为初学者讲解的视频,可以快速入门,更快掌握这个技能。本教程是第一套教程(修订版)的视频讲解,更容易接受。第五套:VBA解读和利用中类这这是一个高级教程,解释虚无和身体的程度,虽然使用较少,但仔细学习可以促进自己VBA提高理论。对这套教程的理解主要是读者的理解佛教哲学的理解。本教程提供的版本是第一版修订,程序文件通过32位和64位OFFICE系统测试。第六套教程:VBA获取和处理信息,这高级教程涉及面广、实用性强,面向中高级人员。共有20个主题,包括:跨应用信息获取、随机信息使用、电子邮件发送等VBA抓取互联网数据,VBA延时操作,剪切板应用,Split函数扩展、工作表信息与其他应用程序交互,FSO使用对象、工作表和文件夹信息、图形信息和定制工作表信息函数。程序文件通过32位和64位OFFICE系统测试。第七套教程:VBA之EXCEL应用 这是一个初级教程。本教程共三卷。从创建宏、对话框、工作簿、工作表对象、单元格对象等基本内容出发,到循环结构、错误处理、字符串操作、日期和时间、事件、数组应用、函数过程等,我们一直在解释控制和窗口对象的应用,以提高自己EXCEL水平必须。第八套教程:VBA之WORD应用是围绕面向对象编程的讲解,让大家充分了解Word中VBA对象,以及对象的属性、方法和使用。教程分为三卷和十六章。前十五章是对各种对象属性和方法的解释。每一节都有一个特殊的例子来解释这些属性方法的具体应用。最后一章是结和 体应