APP下载

Word VBA自动排版方法在公文处理中的应用

2021-05-08雷群泌

中国新技术新产品 2021年4期
关键词:编辑器页码文档

雷群泌

(湖南环境生物职业技术学院,湖南 衡阳 421005)

0 引言

Word文字处理软件是目前世界上使用最为广泛的办公软件之一。使用Word文档最基本的操作便是对一些重要文件进行编辑和排版,例如公文、论文、标书以及项目申报书等,这类文件对排版有很多非常严格的规范和要求。以公文为例,2012年4月中共中央办公厅、国务院办公厅联合印发了《党政机关公文处理工作条例》,随后国家质量监督检验检疫总局和国家标准化管理委员会又联合发布了《党政机关公文格式》国家标准,从制度和标准的角度对我国党政机关、企事业单位使用公文的规范提出了要求,该标准成为目前我国广大文秘工作者处理公文的根本遵循。对文秘工作者来说,按照公文格式要求对文档进行排版并不难,麻烦的是要用手工排版的方式对大量机械重复的公文格式进行编辑,采用手工排版不仅费时费力、效率低下,而且还容易出错,不能保证排版的质量,从而会影响公文处理的效果。

1 相关研究

与手工排版方法相对应的是自动排版方法。显然,可以开发专门的排版软件来实现对文档的自动排版,但是对于广大普通用户来说,这既不经济,也不现实。因此,有必要开发经济适用且适合普通用户使用的自动排版方法;其中比较有效的1种方法是使用Word VBA或宏技术,已经有一些学者对该方法进行了初步研究。

文献[1]研究了通过VBA平台来限制和规范文档编辑的过程,避免在文档编辑的过程中因人为因素而导致出现不规范和错误的操作,有效地降低了手工编辑的出错几率和查错纠错的工作量,极大地提高了文档编辑的效率。文献[2]针对期刊编辑日常工作中需要完成大量重复的工作,使用Word VBA开发了一些编辑加工功能,可以快速形成格式规范稿件,提高了期刊的编辑质量。文献[3]则利用VBA编程解决了Word 2010中对藏文进行排版时存在无法对齐左右边界的问题,实现了藏文文档排版的规范化。文献[4]针对高校毕业论文复杂的排版要求,利用Word宏代码和Delphi语言开发了论文自动排版系统,实现了对毕业论文的自动排版。由于公文是1种应用非常广泛的重要文书,要起草和编辑公文就离不开排版,特别是对于广大文秘工作者来说,按要求对公文进行排版和格式审核已经成为1项颇费精力的重要工作。但是,目前对按照最新公文格式规范要求进行自动排版的技术的研究还非常有限。

2 公文格式基本要求

按照《党政机关公文处理工作条例》和《党政机关公文格式》国家标准的要求,并结合笔者单位的实际情况,公文格式总体上包括以下4个方面。

2.1 页面设置要求

上边距为3.0 cm,下边距为3.0 cm,左边距为2.5 cm,右边距为2.4 cm;使用A4纸,宽度为21.0 cm,高度为29.7 cm;页眉页脚奇偶页不同、首页不同,页眉距边界1.5 cm,页脚距边界2.2 cm;指定行与字符网格,每行28个字符数,每页22行。

2.2 字体要求

公文标题为二号方正小标宋简体;正文内容为三号仿宋_GB2312;正文一级标题为三号黑体;二级标题为三号楷体_GB2312;三级标题为三号仿宋_GB2312;西文字体为Times New Roman。

2.3 段落要求

公文的标题设置为居中对齐,无首行缩进,段前、段后间距为0行,行距为固定值32磅;公文正文部分设置为两端对齐,首行缩进2字符,段前、段后间距为0行,行距为固定值30磅;所有段落取消孤行控制。

2.4 页码要求

页码使用阿拉伯数字左右各加1条一字线,字体为四号宋体;其中,奇数页的页码在页面底端的右侧,偶数页的页码在页面底端左侧,首页不显示页码。

3 使用VBA编程实现公文自动排版

3.1 VBA简介

VBA是Visual Basic for Applications的简称,也就是通常所讲的新一代标准宏语言,它是1种基于Visual Basic的程序设计语言,通过嵌入到Office办公软件中,实现对Office办公软件的控制、功能扩展和定制。VBA以面向对象的方式提供了文档对象Document、页面设置对象Pagesetup、段落对象Paragraph以及字体对象Font等很多对象,文档编辑工作者只需要按照具体的排版要求定义好这些对象的属性和方法,就可以完成对文档的排版,即通过VBA编程,将排版要求代码化,并嵌入到Word模板中,那么当要对文档进行排版时,只需要执行该VBA程序,就可以完成对Word文档的自动排版。

3.2 VBA编程实现公文格式设置

3.2.1 进入VBA编程环境

VBA的使用门槛不高,之所以没有任何编程基础的人也可以快速掌握VBA,是因为Word内置了1个Visual Basic程序编辑器,可以通过创建宏的方式打开该编辑器,该编辑器便是VBA程序的开发工具,使用它不仅可以编写VBA程序,还可以对VBA程序进行调试。

单击Word 2010“视图”选项卡下面的“宏”命令按钮,弹出“宏”对话框,如图1所示,在“宏名”下面的编辑框中输入宏名称“公文排版”,选择“宏的位置”中的“所有活动模板和文档”,再单击“创建”按钮就可以创建1个宏,同时打开Visual Basic编辑器,在该编辑器中可以看到已经创建了1个VBA过程“Sub 公文排版()”,如图2所示。

图1 宏对话框

3.2.2 公文格式的代码化

由于Word VBA是以宏的形式来实现的,因此可以通过录制宏的方式来实现从公文编辑到VBA代码的转化,再到Visual Basic编辑器中对代码进行适当修改,就可以快速地完成对VBA自动排版程序的编写。以页面设置为例,按照公文格式要求,在对页面设置的同时同步录制宏,就可以创建1个“公文排版_页面设置()”的VBA过程,具体代码如下。

在上述代码中,PageSetup是VBA提供的页面设置对象,该对象具有很多属性,例如TopMargin、BottomMargin分别表示页面设置操作中的上边距和下边距,通过定义这些属性就可以完成对页面中页边距、纸张、版式以及文档网格等的设置。按照同样的方法,可以对公文格式对字体、段落等其他方面的要求一一转换成VBA代码,从而实现公文格式排版要求的代码化。其中,插入页码的操作相对比较复杂,需要考虑奇、偶数页页码的差异,具体程序流程如图3所示。

3.3 运行VBA程序完成公文自动排版

要通过运行1次VBA程序完成所有排版格式的自动设置,还需要把前面实现的页面设置、字体设置以及段落设置等VBA过程全部设置为“Sub 公文排版()”这个过程的子过程,这样排版时只需要执行“Sub 公文排版()”,所有的子过程就会依次自动执行。将其他过程设置为“Sub 公文排版()”的子过程的方法如下。

图2 Visual Basic编辑器

图3 插入页码的VBA程序流程图

4 实验结论

用Word 2010打开1个格式非常混乱的文档或者使用“清除格式”功能清除文档的所有格式;再单击视图选项卡下的“宏/查看宏”,选择“公文排版”,单击“运行”按钮,就可以快速地完成文档的自动排版。通过对比,发现该方法已经自动按照公文格式要求完成了对文档页面、字体、段落以及页码的设置,特别是对文章标题、正文中标题(一级标题、二级标题和三级标题)以及正文其他内容的字体、字号、首行缩进、对齐方式、段间距和行间距等参数的设置也都满足公文格式的要求,该方法不仅排版效率高,而且排版效果也非常好。实验表明,该文提出的自动排版方法是可行、有效的。

5 结语

该文提出的Word VBA自动排版方法有效地实现了公文自动排版,极大地提升了文档编辑的效率,对其进行推广应用有利于减少文秘工作者对于公文进行格式编辑的工作量,可以把工作重心和主要精力集中到对公文内容的审核,从而提高公文处理工作和公文的质量。

猜你喜欢

编辑器页码文档
Nonlinear Dynamic Analysis and Fatigue Study of Steep Wave Risers Under Irregular Loads
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
CONTENTS OF 2020
车辆段收发车运行图编辑器的设计与实现
Consequences of early adverse rearing experience(EARE) on development: insights from non-human primate studies
基于RI码计算的Word复制文档鉴别
算页码
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
基于VLIW目标机的ELF二进制编辑器设计与实现