当前位置:文档之家› vb修改word

vb修改word

vb修改word
vb修改word
摘要 :分析了 Word 对象模型的结构,特别是 Document 对象及其使用方法,提出了在 Visual Basic 中创建 Word 格式文档的方法,并给出了该方法的应用实例。 关键词 :Visual Basic,Word 对象模型,文档 引言 Word 文档是实际工作学习中最为常用的文档格式之一。 随着社会信息化程度的提高,一些传统的由人工完成工作逐渐转向由计算机来处理。计算机自动组卷 系统便是一个典型的例子。为了追求更高的效率,一些计算机自动组卷系统的单位用户要求由软件输出 Word 格式的试卷不需排版直接供印刷使用。 由于 Microsoft Office 套件的普及,Word 文档、电子表格文档、电子幻灯片等文档日渐常用。虽然在 Office 中各个程序的文档可以方便地转换,但是这种转换是以失去文档原本的格式为代价的。例如,在自 动组卷系统中,存储在 Access 数据库中的试卷可以通过 Access 提供的导出功能产生 Word 文档,但产生的 文档是无格式的,需花费大量时间重新排版方可符合用户在试卷格式上的要求。 针对这一问题,本文讨论通过研究 Word 对象模型,提出使用该对象模型创建符合用户所要求的特定 格式的 Word 文档的方法。 Word 对象模型 1、Word 对象模型层次结构 对象是 Visual Basic 的基石,几乎在 Visual Basic 中的每个操作都与修改对象有关。Word 的任何元 素(如文档、表格、段落、域、书签等)都可以用 Visual Basic 中的对象来代表。 对象代表一个 Word 的元素,如文档、段落、书签或单个的字符。集合也是一个对象,该对象包含 其他数个对象,通常这些对象属于相同的类型,例如,一个集合对象中可包含文档中的所有书签对象。通 过使用属性和方法,可以修改单个的对象,也可修改整个的对象集合。 Microsoft Word Visual Basic 提供一套完整的 Word 对象模型,这是一个以 Application 为顶层对象的对 象层次结构。其结构如图-1 所示。

对象由两种类型的成员构成,一种是属性,第二种成员是方法。 属性是对象的一个特性或者该对象行为的一个方面。例如,文档属性包含名称、内容、保存状态以及 是否启用修订。要更改一个对象的特征,可以修改其属性值。要设置一个属性的值,需在对象的后面紧接 一个句点、属性名称、一个等号及新的属性值。下面的示例在"MyDoc.doc"文档中启用修订。

Documents("MyDoc.doc").TrackRevisions = True 方法是对象可以进行的动作。例如,只要文档可以打印,Document 对象就具有 PrintOut 方法。方法 通常都带有参数,限定动作将如何进行。下面的示例打印活动文档的前三页。

ActiveDocument.PrintOut From:=1, To:=3 在大多数情况下,方法是动作,而

属性是性质。使用方法将导致针对对象的某些事情发生,而使用属 性则会返回对象的信息,或者引起对象的某个性质的改变。 2、Document 对象和 Documents 集合对象 在 Visual Basic 中, 可使用 Document 对象或 Documents 集合对象的方法来修改文件。 Document 对 象是本文用来创建 Word 文档的主要对象。 Word 对象模型中 Documents(Document)对象集(或 Document)对象的结构如图-2 所示。

其中的 Paragraphs 集合对象与 PageSetup 对象将是下文的主角。Paragraphs 集合对象是由选定内容、 范围或文档中的 Paragraph 对象组成的集合。PageSetup 对象代表页面设置描述。PageSetup 对象包含了文 档的所有页面设置属性(左边距、下边距、纸张大小,等等) 。

在熟悉了 Word 对象模型的基础上, 我们可以使用 Document 对象对 Word 文档进行各种操作, 例如: 2.1 新建一篇文档 Documents 集合包含所有打开的文档。要新建一篇文档,可使用 Add 方法将一个 Document 对象添 至 Documents 集合。 新建文档的方法之一是使用 Add 方法。Add 方法将返回 Document 对象,该对象引用新文档。在下 面的示例中,把 Add 方法返回的 Document 对象赋予一个对象变量 newDoc。然后设置该 Document 对 象的几种属性和方法。通过 newDoc 对象变量,可以很容易地控制新文档。

Set newDoc = Documents.Add With newDoc https://www.doczj.com/doc/a18637830.html, = "Arial" .SaveAs FileName:="Sample.doc" End With 2.2 打开文档 要 打 开 一 篇 现 有 的 文 档 , 可 使 用 Documents 集 合 的 Open 方 法 。 下 面 的 代 码 打 开 名 为 MyDocument.doc 的文档(该文档位于"MyFolder"文件夹中) 。

Documents.Open FileName:="C:\MyFolder\MyDocument.doc" 2.3 保存一篇现有文档 要保存一篇文档,可使用 Document 对象的 Save 方法。下面的代码保存名为 Sales.doc 的文档。

Documents("Sales.doc").Save 如果对 Documents 集合应用 Save 方法,可以保存所有打开的文档。下面的代码保存所有打开的文 档。

Documents.Save 2.4 保存一篇新文档 要保存一篇文档,可使用 Document 对象的 SaveAs 方法。下面的代码将活动文档保存于当前文件 夹,取名为"Temp.doc"。

ActiveDocument.SaveAs FileName:="Temp.doc" FileName 参数可以只包含文件名,也可包含完整的路径(例如"C:\Documents\Temporary File.doc") 。 2.5 关闭文档 要关闭单个文档,可使用 Document 对象的 Close 方法。下面的代码关闭并保存名为 Sales.doc 的 文档。

Documents("Sales.doc").Close SaveChanges:=wdSaveChanges 可应用 Documents 集合的 Close 方法关闭所有的文档。下面的代码在不保存修改的情况下关闭所有 的文档。

Documents.Close SaveChanges:=wdDoNotSaveChanges 在 Visual Basic 中创建 Word 文档 1、Visual Basic 中创建 Document 对象 所有的

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

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

With newDoc https://www.doczj.com/doc/a18637830.html, = "宋体" .Content.Font.Size = 12 .Content.Paragraphs.LineSpacing = 15.5 End With 由此得到了一个空 Word 文档。 2、向 Word 文档中添加文本 接下来,向空文档中添加文本,这将使用 Paragraphs 集合对象来完成此项工作。InsertAfter 方法将文 本插入到 Selection 或 Range 对象后;InsertBefore 方法将文本插入到 Selection 或 Range 对象前。以下代 码向文档结尾处添加一个段落并设置本段落格式:

With newDoc .Content.InsertAfter "示例段落…" .Paragraphs(NewDoc.Paragraphs.count).Alignment = wdAlignParagraphCenter .Paragraphs(NewDoc.Paragraphs.count).Range.Font.Bold = True .Paragraphs(NewDoc.Paragraphs.count).Range.Font.Size = 28 End With 可用 Paragraphs(index) 返回一个 Paragraph 对象, 其中 index 为索引号; count 属性值表示该文档主 文字部分中的 Paragraph 对象数。NewDoc.Paragraphs.count 恰好为当前正在添加的文本段落的索引号。 如果需要插入表格,可以使用 Table 对象。Add 方法可以在指定范围内新增一表格。下例在活动文 档的起始处添加一 3 x 4 的表格。

Set myRange = ActiveDocument.Range(Start:=0, End:=0) ActiveDocument.Tables.Add Range:=myRange, NumRows:=3, NumColumns:=4

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

NewDoc.Content.InsertAfter "得分" & vbTab & " " & vbTab & "评卷人" & vbTab & " " & vbCr 创建的表格如图-3 所示:

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

newDoc.PageSetup.TextColumns.SetCount NumColumns:=2 newDoc.PageSetup.TextColumns.Spacing = CentimetersToPoints(2) 3.2 设置页边距:

With newDoc.PageSetup .TopMargin = CentimetersToPoints(4.5) .BottomMargin = CentimetersToPoints(1.5) .LeftMargin = CentimetersToPoints(0.8) .RightMargin = CentimetersToPoints(2) End With 3.3 设置纸张大小:

With newDoc.PageSetup .PageHeight = CentimetersToPoints(28.1) .PageWidth = CentimetersToPoints(38.9) End With 其他的设置项目不再详述。

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

newDoc.SaveAs FileName:="Sample.doc" newDoc.PrintOut 应用实例 以上方法在笔者为某市市委组织部开发的计算机自动组卷系统中加以应用,该系统流程如图-4 所示。

该系统产生的试卷要求直接用于考核和选拔基层

干部的考试中,首先由出题者输入试卷参数,即组卷 规则,然后由软件自动组卷并输出 Word 格式的试卷。笔者应用上述方法开发的软件系统完全满足了用户 需求。系统现已投入运行,极大地提高了工作效率,获得了用户的好评。 结束语 本文提出的在 Visual Basic 中创建 Word 文档的方法基于对象模型,实用性强,也可以用于其它支持 ActiveX 的开发平台中。

相关主题
文本预览
相关文档 最新文档