http://www.cppblog.com/dazhi/archive/2008/09/26/62792.html
二、结构层次
为了更有逻辑,更有层次地操作 Office,Microsoft 把应用(Application)按逻辑功能划分为如下的树形结构
Application(WORD 为例,只列出一部分)
Documents(所有的文档)
Document(一个文档)
…
Templates(所有模板)
Template(一个模板)
…
Windows(所有窗口)
Window
Selection
View
Selection(编辑对象)
Font
Style
Range
…
…
只有了解了逻辑层次,我们才能正确的操纵 Office。举例来讲,如果给出一个VBScript语句是:
application.ActiveDocument.SaveAs “c:\abc.doc”
那么,我们就知道了,这个操作的过程是:第一步,取得Application;第二步,从Application中取得ActiveDocument;第三步,调用 Document 的函数 SaveAs,参数是一个字符串型的文件名。
三、类介绍
3.1.Range类
(1)获取Range类实例。
HWPFDocument类中有一系列获取Range类实例以操作word文档的方法。比较常用的是getRange(),这个方法可以获取涵盖整个文档的范围,但不包括任何页眉和页脚。
Range range = doc.getRange();
此外,还有获取所有文本范围的getOverallRange()、获取所有文本框的getMainTextboxRange()等等,具体可以根据需求查阅文档。
(2)Range类操作word文档
Range类中有大量获取文档数据的方法,若有需要可以查阅文档。这里只说明与写入数据有关的方法。
1. insertBefore(String),将字符串插入到此range的开头。返回值类型:CharacterRun
2. insertAfter(String),将字符串插入到此range的结尾。返回值类型:CharacterRun
3. insertTableBefore(short列数, int行数),在此range的开头插入一个指定行列数的表。返回值类型:Table
4. text(),获取当前range的所有文本。返回值类型:String。虽然不是写入数据的方法,但是在调试过程中比较好用。