技术开发 频道

详解VSTS与OFFICE的协同开发:WORD篇

  •Range对象
  Range 对象表示文档中的一个连续的区域,由一个起始字符位置和一个结束字符位置定义。Range 对象的数量并不局限于一个。您可以在同一文档中定义多个 Range 对象。Range 对象具有以下这些特性:

  它的组成成分可以是单独的插入点,也可以是一个文本范围或整个文档。
  它包含非打印字符,例如空格、制表符和段落标记。
  它可以是当前选择所表示的区域,也可以表示当前选择之外的区域。
  与所选内容总是可见不同,它在文档中是不可见的。
  它不随文档保存,仅存在于代码运行期间。
  在向一个范围的末尾插入文本时,Word 会自动扩展该范围以包含插入的文本。

  当我们创建文档级项目时,Visual Studio 2010会生成一个名为 ThisDocument 的类,你可以在 ThisDocument 类中使用关键字“this”访问到Document对象的所有成员。例如,如果我们想要选择文档中的第一个段落,可以用如下的代码实现:

  this.Paragraphs[1].Range.Select();

 

  这里需要特别注意的是,为了便于理解,Office对象模型中,段落数组的起始序号是1,而不是我们通常在开发中所使用的0。
创建文档级自定义项

  在Office企业应用中,我们常常通过文档模板生成各种标准格式的报表,其中一个典型应用就是填写请假单:我们通过Word文档模板生成一个Word文档,然后在请假单Word文档中填写请假原因和请假期限,然后填写自己的名字和申请日期等。下面,我们通过开发一个文档级的自定义项来简化这一填写表单的过程。
我们知道,文档级自定义项是跟具体的某个文档关联的。当这个Word文档打开的时候,文档级自定义项被自动加载,然后弹出一个窗体,供用户输入请假的原因和选择请假期限,最后自动插入请假人和申请日期,生成请假单文档。在这个请假单的基础上,用户可以直接打印提交也可以继续编辑。

0
相关文章