强化VB.NET Word文档创建Document对象

开发 后端
文章主要介绍了在VB.NET Word文档 ,Visual Basic中创建Document对象,向Word文档中添加文本,输出文档的详细解释。

许多人都知道Word文档的重要性,而在VB.NET Word文档也是很重要的,由于Microsoft Office套件的普及,Word文档、电子表格文档、电子幻灯片等文档日渐常用。虽然在Office中各个程序的文档可以方便地转换,但是这种转换是以失去文档原本的格式为代价的。例如,在自动组卷系统中,存储在Access数据库中的试卷可以通过Access提供的导出功能产生Word文档,但产生的文档是无格式的,需花费大量时间重新排版方可符合用户在试卷格式上的要求。

VB.NET Word文档的创建

1、Visual Basic中创建Document对象

所有的工作都从Document对象开始,首先在Visual Basic中创建一个Document对象的实例,然后就可以对该实例进行各种可控制:

  1. Dim newDoc As Word.Document  
  2. Set newnewDoc = new Word.Document  

一旦创建了Document对象,就可以设置文档的缺省格式,通过设置Content子对象的字体、行间距等属性加以实现:

  1. With newDoc  
  2. .Content.Font.Name = "宋体"   
  3. .Content.Font.Size = 12 
  4. .Content.Paragraphs.LineSpacing = 15.5  
  5. End With    

由此得到了一个空Word文档。

2、向Word文档中添加文本

接下来,向空文档中添加文本,这将使用Paragraphs集合对象来完成此项工作。InsertAfter方法将文本插入到Selection 或 Range 对象后;InsertBefore 方法将文本插入到Selection 或 Range 对象前。以下代码向文档结尾处添加一个段落并设置本段落格式:

  1. With newDoc  
  2. .Content.InsertAfter "示例段落…"  
  3. .Paragraphs(NewDoc.Paragraphs.count).Alignment = wdAlignParagraphCenter 
  4. .Paragraphs(NewDoc.Paragraphs.count).Range.Font.Bold = True 
  5. .Paragraphs(NewDoc.Paragraphs.count).Range.Font.Size = 28 
  6. End With  


可用 Paragraphs(index) 返回一个 Paragraph 对象,其中 index 为索引号;count属性值表示该文档主文字部分中的Paragraph对象数。NewDoc.Paragraphs.count恰好为当前正在添加的文本段落的索引号。

如果需要插入表格,可以使用Table 对象。Add 方法可以在指定范围内新增一表格。下例在活动文档的起始处添加一 3 x 4 的表格。

  1. Set myRange = ActiveDocument.Range(Start:=0End:=0)  
  2. ActiveDocument.Tables.Add Range:=myRangeNumRows:=3NumColumns:=4  

以可以使用制表字符得到表格。以下代码在文档尾部插入一个1x4 的表格。

  1. NewDoc.Content.InsertAfter "得分" & vbTab & " " & vbTab & "评卷人" & vbTab & " " & vbCr  

当所有段落都添加到文档以后,可以使用 PageSetup对象进行页面设置,这需要通过设置PageSetup对象的各种属性来完成。

1)设置分栏和栏间距:

  1. newDoc.PageSetup.TextColumns.SetCount NumColumns:=2 
  2. newDoc.PageSetup.TextColumns.Spacing = CentimetersToPoints(2)   


2)设置页边距:

  1. With newDoc.PageSetup  
  2. .TopMargin = CentimetersToPoints(4.5)  
  3. .BottomMargin = CentimetersToPoints(1.5)  
  4. .LeftMargin = CentimetersToPoints(0.8)  
  5. .RightMargin = CentimetersToPoints(2)  
  6. End With   

3)设置纸张大小:

  1. With newDoc.PageSetup  
  2. .PageHeight = CentimetersToPoints(28.1)  
  3. .PageWidth = CentimetersToPoints(38.9)  
  4. End With  

其他的设置项目不再详述。

3、输出文档

对创建完毕的文档,我们可以选自保存为磁盘文件或直接打印输出:

  1. newDoc.SaveAs FileName:="Sample.doc" 
  2. newDoc.PrintOut  

该系统产生的试卷要求直接用于考核和选拔基层干部的考试中,首先由出题者输入试卷参数,即组卷规则,然后由软件自动组卷并输出Word格式的试卷。笔者应用上述方法开发的软件系统完全满足了用户需求。系统现已投入运行,极大地提高了工作效率,获得了用户的好评。

结束语

本文提出的在VB.NET Word文档创建的方法基于对象模型,实用性强,也可以用于其它支持ActiveX的开发平台中。

责任编辑:田树 来源: 中华电脑书库
相关推荐

2009-10-09 15:59:41

VB.NET对象

2009-10-14 14:04:29

VB.NET创建Web

2009-10-20 15:05:04

VB.NET Word

2009-10-14 13:21:46

VB.NET Acco

2009-11-03 09:26:13

VB.NET方法

2009-10-20 10:59:32

VB.NET编程

2009-10-26 17:10:53

VB.NET word

2010-01-12 18:05:38

VB.NET对象

2009-10-30 11:20:54

VB.NET Proc

2009-10-30 15:37:23

VB.NET Sub创

2010-01-21 14:49:44

VB.NET操作Wor

2009-10-13 17:03:55

VB.NET面向对象

2010-01-22 13:28:13

VB.NET对象克隆

2009-10-23 14:06:07

VB.NET类对象

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-11-02 16:22:16

VB.NET面向对象

2010-01-19 15:08:18

VB.NET对象成员

2010-01-21 12:55:08

VB.NET对象序列

2009-11-03 10:09:48

VB.NET对象

2009-10-16 10:47:58

VB.NET创建控件数
点赞
收藏

51CTO技术栈公众号