利用VBA快速实现Word文档格式的统一

来源 :考试周刊 | 被引量 : 0次 | 上传用户:kldxn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: VBA是由微软公司开发的新一代标准宏语言,简单易学、功能强大,对于经常跟Office打交道的用户来说,学习VBA有助于提高工作效率。本文详细论述了利用VBA对许多Word文档进行统一格式设置的实现方案。因Word中涉及的知识点较多,不可能一一加以列举,本文作者向读者阐述了程序编制的一般方法,通过该方法,可以解决绝大多数Word文档统一设置格式的问题。
  关键词: Word 格式设置 批量 VBA技术
  
  通常我们说到办公软件时,大家都会想到微软公司开发的一套办公软件Office。Office因为功能强大、操作简单等特点已经进入到各行各业,并逐渐成为日常办公、生活中必须的应用软件。但是Office属于通用型应用软件,因而在某些特殊数据处理方面很难快速实现解决方法。为了更好地满足这类工作的需要,越来越多的人迫切需要对Office进行二次开发和功能定制。作为Office的开发者和服务商,微软公司为了解决这个问题,在结合VB和Office的优点后,推出了VBA的开发环境——VBE。用户可以通过这个环境直接对应用程序环境的相关功能与模块,进行特殊的功能开发与定制。
  VBA(Visual Basic for Application)是从VB(Visual Basic)衍生出来的,基于Office环境的开发工具。它不能像VB一样能生成可执行程序。实际上VBA是“寄生”于VB应用程序的版本。可以认为VBA是非常流行的应用程序开发语言Visual Basic的子集。VBA的主要特点如下:
  第一,VBA可以使已有的应用程序(Excel等)自动化,可以扩展已有程序,可以创建自定义的解决方案。
  第二,VBA必须“寄生”于已有的应用程序,其开发的程序必须依赖于它的“父”应用程序,例如Word、Excel。
  第三,VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化。
  相对于一些编程语言如C语言、C 语言、Delphi等需要种种烦琐的类型说明、定义VBA编程简便,其所提供的各种控件和交互式的编程方式可以很轻易地编出合格的程序,完成自己的任务。
  在工作中经常会遇到这种情况,单位要求大家写一些个人的总结、报告或者别的类型的一些文档,而一般交上来的文档都是利用Word完成的,但是这些Word完成的文档中的格式却是五花八门什么样都有。这可能就会给阅读者或者打印造成一些问题,那么怎样才能将大家交上来的Word文档都很快地设置成格式相同的文档呢?一个一个文档去修改格式显然很繁琐。下面我就来说明一下如何使用VBA来实现对大量Word文档设置统一的格式。
  以下我们主要以Word 2003为例来说明(Word 2007方法类似)。
  一、打开Word程序,在工具菜单中选择“宏”→“宏”在弹出的对话框中先给宏起一个名称,如:统一格式,然后单击“创建”按钮,即可以进入对当前宏进行编写。
  二、编写代码实现。
  根据需要实现的目的,我将代码分成三部分来实现,第一步需要在运行代码时要弹出文件夹选取对话框,用于选择需要统一格式的Word文档。
  开始时需要定义一个文件夹选取对话框
  Dim My Dialog As FileDialog,vrtSelectedItem As Variant,Doc As Document
  Set My Dialog=Application.File Dialog(msoFileDialogFile Picker)
  然后对这个文件夹对话框进行一些优化的设置这样可以更加方面选择,如让选择对话框中只显示Word文档不显示别的文件,允许一下选择多个Word文档等。
  With MyDialog
  .Filters.Clear ′除所有文件筛选器中的项目
  .Filters.Add "所有 WORD 文件","*.doc",1 ′增加筛选器的项目为所有WORD文件
  .AllowMultiSelect=True′允许多项选择
  当在对话框选择确定之后要设置一个循环语句,让每一个被选择的文档都进行按照要求的格式设置。
  If.Show=-1 Then
  Application.ScreenUpdating=False
  For Each vrtSelectedItem In.SelectedItems
  Set Doc=Documents.Open(FileName:=vrtSelectedItem,Visible:=False)
  这样第一步的任务选择Word文档的任务就完成了。下面就要根据要求对上面选择的Word第二步给文档进行统一的格式设置。一般的文档的格式设置包括对三个方面的格式设置,1.页面格式;2.段落格式;3.字符格式。下面我们就针对这三个方面去设置文档的格式。
  1.页面格式设置
  以下提供的部分页面格式设置效果的代码可供参考。
  With Doc
  With.PageSetup′进行页面设置
  .Orientation=wdOrientPortrait′页面方向为纵向
  .TopMargin=CentimetersToPoints(3.4)′上边距为3.4cm
  .BottomMargin=CentimetersToPoints(3.6)′下边距为3.6cm
  .LeftMargin=CentimetersToPoints(2.3)′左边距为2.3cm
  .RightMargin=CentimetersToPoints(2.3)′右边距为2.3cm
  .Gutter=CentimetersToPoints(0)′装订线0cm
  .HeaderDistance=CentimetersToPoints(1.3)′页眉1.3cm
  .FooterDistance=CentimetersToPoints(1.5)′页脚1.5cm
  .PageWidth=CentimetersToPoints(21)′纸张宽21cm
  .PageHeight=CentimetersToPoints(29.7)′纸张高29.7cm
  .VerticalAlignment=wdAlignVerticalTop′页面垂直对齐方式为“顶端对齐”
  .SuppressEndnotes=False′不隐藏尾注
  .MirrorMargins=False′不设置首页的内外边距
  .GutterPos=wdGutterPosLeft′装订线位于左侧
  .LayoutMode=wdLayoutModeLineGrid′版式模式为“只指定行网格”
  End With
  代码括号中的数据既为设置的对应的距离,可以根据个人的需要进行合理设置。
  2.段落格式设置
  可以对段落格式中的所有的项目进行设置,这里列举一些常用的段落格式设置的代码。
  With.Content.ParagraphFormat
  .LeftIndent=CentimetersToPoints(0)′左缩进0cm
  .RightIndent=CentimetersToPoints(0)′右缩进0cm
  .LineSpacing=24′行距24磅
  .Alignment=wdAlignParagraphJustify′段落设置为两端对齐
  .WidowControl=False′不勾选“孤行控制”
  .KeepWithNext=False′不勾选“与下段同页”
  .KeepTogether=False′不勾选“段中不分页”
  .PageBreakBefore=False′不勾选“段前同页”
  .NoLineNumber=False′不勾选“取消行号”
  .Hyphenation=True′不勾选“允许西文在单词中间换行”
  .CharacterUnitFirstLineIndent=2′首行缩进2个字符
  .OutlineLevel=wdOutlineLevelBodyText′大纲级别为“正文文本”
  .LineUnitBefore=0′段前间距为0
  .LineUnitAfter=0′段后间距为0
  .DisableLineHeightGrid=False′勾选“如果定义了文档网格,则对齐网格”,即指定段落中的字符与行网格对齐
  End With
  3.字符格式设置
  这里主要对字体进行设置代码如下。
  With.Content
  With.Font
  .NameFarEast= "宋体"′输入中文字体为“宋体”
  .NameAscii="Times New Roman" ′输入英文字体为“Times New Roman”
  .Size=12 ′字号为“12”
  End With
  With.Paragraphs.First
  .Range.Font.Size=16 ′标题字号为“16”
  .Alignment=wdAlignParagraphCenter
  End With
  End With
  .Close True
  End With
  这段代码中也可以根据需要去修改字体和文字大小。
  第三步完成第一步的循环的代码,最后做出判断当所有的文档完成格式设置之后弹出对话框提示“格式化文档操作设置完毕”。
  Next
  Application.ScreenUpdating=True
  End If
  End With
  MsgBox"格式化文档操作设置完毕!",vbInformation
  本实例通过以上步骤就可以实现对多个Word文档进行统一的格式设置,虽然由于要求的不同可能对格式设置的代码有所差异,但只需根据要求对代码中的一些数据进行一些修改就可以达到目的。这里由于篇幅有限给出的格式种类的代码有限,如果还需要一些别的特殊的格式设置的代码可以,通过录制宏的方法得到。
其他文献
美国六大有线电视系统公司之一的CablevisionSystem公司和索尼(美国)公司最近达成一项协议,将共同为纽约近郊的家庭提供利用新型宽带通信平台的新一代数字娱乐业务.这种新的平台运用了Cablevision公司最新的数
猪流行性腹泻(Porcine epidemic diarrhea,PED)可以引起猪消化道的损伤,进而导致呕吐、水样腹泻和脱水等临床症状,其病原是猪流行性腹泻病毒(Porcine epidemic diarrhea vriu
自1986年12月珠江经济广播电台开播以来,广播改革风起云涌,热线电话、板块节目、滚动播出、系列台……,在全国掀起了一阵广播热,不凡的气度再次证明了广播的实力,引起了社会广泛反响和各
以表面活性剂十六烷基三甲基溴化铵(CTAB)和十二烷基硫酸钠(SDS)改性的碳纳米管为载体,制备了TiO2/CNT催化剂,用于苯酚与碳酸二甲酯酯交换合成碳酸二苯酯的反应.采用X射线衍射(XRD
羊痘(Capripox)是由羊痘病毒(Capripoxvirus)引起的羊的一种急性、热性、接触性传染病,被世界动物卫生组织列为必须报告的动物疫病。羊痘病毒为痘病毒科(Poxviridae)脊椎动物
摘 要: 本文通过分析多媒体教学软件制作的现状,归纳当前多媒体教学软件制作中存在的主要问题,提出团队合作是创作高质量多媒体教学软件的根本保障,并以实例证明团队合作在多媒体产品开发中的优势,以期对教育信息化发展、优质教育资源建设起到积极的推动和引导作用。  关键词: 多媒体教学软件 现状 问题 团队合作    1.引言  多媒体教学已实施多年,它给各类学校的教学手段和教学过程带来的效果是毋庸置疑的。
为庆祝中华人民共和国建国50周年,中央电视台决定在全世界举办“中国电视周”活动,126个国家和地区的168家电视机构以不同形式播放由中央电视台提供的节目.在这些节目中,我们制作了30分钟的
摘 要: 本文作者运用调查、统计等研究方法对秦皇岛小学体育课的管理现状进行研究,结果显示秦皇岛小学体育行政管理、课程建设、教学管理均有待加强。  关键词: 秦皇岛市体育课 管理状况 调查    我们通过文献资料、问卷调查、数理统计等研究方法,对秦皇岛市10所小学体育课管理现状展开调查,目的在于了解秦皇岛小学体育课管理状况,探索其一般性规律,以期为提高秦皇岛市小学体育课质量做一点积极有益的工作。  
自然杀伤(Natural killer,NK)细胞是哺乳动物以及其他脊椎动物天然免疫系统的重要组成部分,具有抗肿瘤、抗病毒感染的作用。NK细胞发挥杀伤功能与活化性受体与抑制性受体介导
信息技术教育已经是一个妇孺皆知的概念,但是在实施的过程中信息化的程度良莠不齐,西部农村的信息技术教育存在着很多的问题,本文作者就现察到的情况加以说明.希望有更多的专