- 31
- 0
- 约6.66千字
- 约 14页
- 2019-08-23 发布于北京
- 举报
PAGE
PAGE 1
基于OfficePIA自动生成Word文档
摘要:随着办公量的日益增大,对办公软件的二次开发以适应需求的趋势变得必要。该文介绍了VB.NET环境下通过OfficePIA对Word工程配筋计算报告书进行编程设计的方法,包括文档文字、图片和表格等的自动生成与排版设计。采用该方法可大幅度提高办公效率。
关键词:OfficePIA;VB.NET;Word;自动化
中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)12-2899-05
计算机的程序开发应用广泛,对Office软件的二次开发实现办公的自动化大幅提高办公的效率和准确性。Office的编程接口都是通过COM组件公开的,任何访问Office编程接口的程序,实际上都必须要最终调用OfficeCOM组件。基于OfficePIA,.Net能够让开发人员非常方便的访问COM组件。该文使用VB.NET进行Word内容的排版、页眉页码的插入、目录生成和保存等,实现报告文档的自动化输出,并以某冷却塔工程配筋内容为测试数据为实例,将主程序的配筋计算过程与结果以计算书的形式体现。
1OfficePIA与VB.NET概述
OfficePIA(PrimaryInteropAssembly),PIA的意思可以理解为“官方互操作程序集”,PIA按照Office的各个组件(Word、Excel、PowerPoint等),分成多个单独的程序集。比如Word对应的PIA程序集是Microsoft.Office.Interop.Word.dll(程序集里面的类都放在命名空间Microsoft.Office.Interop.Word中)。
VB.NET是VisualBasic.NET的简称,是VisualBasic语言演变而来,是基于.NET框架的完全面向对象的编程语言。VisualBasic允许开发人员开发面向Web、Windows、和移动设备的程序。使用VB.NET编写的程序都具有安全性和代码易于维护,可扩展性,代码重用技术的优点。使用VB.NET能够非常方便的通过PIA来访问Office.COM组件。
2实现方法[1-3]
本文将从添加程序集引用、添加新文档、插入文本、图片和表格、设置标题样式、插入页眉页码、生成目录、保存文档等分别进行阐述。
1)添加office组件的引用
在程序的解决方案资源管理器中添加对添加一个对WordCOM组件的引用,操作为选择“引用”中的“添加”,选择COM组件中Word2010版本的“MicrosoftWord14.0ObjectLibrary”,Word2007版本为“MicrosoftWord12.0ObjectLibrary”。
然后,需要在程序中声明对命名空间“Microsoft.Office.Interop.Word”的引用,具体操作为:
ImportsMicrosoft.Office.Interop.Word
2)新建Word文档
首先,使用下面的代码激活WordCOM接口:
myWordApp=NewApplication
myWordApp.Visible=True
然后使用Document.Add()方法添加新文档。Office编程接口中添加新文档的方法中不需要的参数可以使用.NET中自带的静态对象Type.Missing,如下面代码所示:
Dimmissing=System.Reflection.Missing.Value
myDoc=myWordApp.Documents.Add(missing,missing,missing,missing)
3)插入文字
为了便于设置文本格式,以Paragraph为对象设置每个段落文字的字体、字号和缩进等格式。
Dimmypara(1)AsParagraph
mypara(1)=myDoc.Paragraphs.Add()
mypara(1).Range.Text=(段落文本)
mypara(1).Range.Font.Size=12
mypara(1).Range.ParagraphFormat.FirstLineIndent=myWordApp.CentimetersToPoints(0.35)
同样这里可以设置行距(LineSpacingRule),大纲级别(OutlineLevel),对齐方式(Alignment)等的段落格式。
然而,对于一篇文档而言,可能用到的标题样式可能只有几种,测试表明,Word文档自动化生成过程中,使用设置标题样式要比对每个段落分别设置段落格式的速度要快得多。因此,建议使用标题样式方法来设置文本格式,如下述代码所
原创力文档

文档评论(0)