MS Office Word 宏应用——批处理
引言
有些时候,我们需要对大量的 word 文档进行相同的操作,我们肯定不会愿意花上一整天进行这些重复的劳动。所有纯文本文件(如.c
, .txt
, .tex
, .py
, .xml
等)都能使用任意一种高级编程语言进行批量处理,但不幸的是,doc 类(.doc
, .docx
, .dot
等)的文件并不是简单的纯文本文件(.doc
文件为 Office 专用格式,.docx
为 OpenXML 格式),因此,我们无法直接使用高级编程语言处理 doc 类文件(但仍然可以处理,如 python 使用python-docx
模块)。
但是,MS Office Word 内置的宏(VBA)为我们进行批处理提供了一种简易的渠道(事实上,MS Office 套件都有相应的宏功能)。
VBA,Visual Basic for Application,是用来扩展应用程序功能的宏语言,MS Office VBA 具备了面向对象编程语言应有的特征。在本文中,我们将简要介绍其在批处理中的应用。
Word 宏简介
首先引入面向对象编程中的两个概念:类和对象。
类是现实世界或思维世界中的实体在计算机中的反映(表现为一段代码)。对象是具有类类型的变量(表现为一个具体的东西)。类是抽象的,对象是具体的。
举例来说,我们打开一个名为Doc1.docx
的文档,那么,这个打开的文档就是一个Document
对象(具体的),而在 Word 中,就有一个抽象的描述这个文档的类(抽象的):
class Document
properties '描述一个Document的所有属性
methods '描述一个Document具有的方法
events '描述一个Document具有的事件
这个名为Document
的类中,有众多属性,类的属性被赋予一定的值(实例化),就成为了一个对象。如,Doc1.docx
文档的所有段落,就是这个文档的Paragraphs
属性;文档中的所有表格,就是它的Tables
属性;文档的名字,就是它的Name
属性,等等。这些属性也可以是对象。
了解了这些概念,我们就可以开始用 VBA 来操作 Word 文档了。
一般情况下,宏的编辑是隐藏的,用户可以在:文件>选项>自定义功能区 的右侧将“开发工具”勾上,就可以在菜单栏中看到它了。
用宏操作文档
在这一部分及下一部分,我们假定读者有一定的编程基础,没有编程基础的读者也不必退出,下面的内容没有引入更多的概念。
我们在 Word 的任何操作,都可以使用宏来完成,并且,宏可以实现一些常规操作无法实现的内容。
在批处理中&#