博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

使用LotusScript操作Lotus Notes RTF域

Posted on 2010-08-03 10:03  生鱼片  阅读(2235)  评论(1编辑  收藏  举报

Lotus Notes RTF域的功能也非常强大,除了支持普通的文本以外,还支持图片、表格、嵌入对象、Http 链接、Notes 链接、附件等等众多的类型。本文将介绍如何使用这些类来灵活操作富文本域。
操作 Notes 富文本域相关的 LotusScript 类

和操作 Notes 富文本域相关的 LotusScript 类包括:

NotesRichTextNavigator 富文本域的导航器,用来访问富文本域中的各种元素;
NotesRichTextRange 表示富文本域内容的一个范围,可以包括多个元素;
NotesRichTextDocLink 表示富文本域内容的文档链接;
NotesEmbeddedObject 表示嵌入式对象或者文件附件;
NotesRichTextSection 表示富文本域中的一个区段;
NotesRichTextTable 表示富文本域中的表格;
NotesRichTextStyle 表示富文本的各种属性;
NotesRichTextParagraphStyle 表示富文本段落的各种属性;
NotesColorObject 表示一种颜色。

程序中使用的一些方法。

NotesSession.CreateRichTextStyle:创建一个 NotesRichTextStyle 对象。
NotesSession.CreateRichTextParagraphStyle:创建一个 NotesRichTextParagraphStyle 对象。
NotesSession.CreateColorObject:创建一个 NotesColorObject 对象。
需要注意的是 NotesRichTextStyle,NotesRichTextParagraphStyle 和 NotesColorObject 这三种对象是不能用 New 来创建的,因为这三个类没有 New() 方法,只能通过 NotesSession 来创建。

NotesRichTextItem.AppendStyle:在当前位置插入一个格式对象,该位置以后的格式都使用这种格式,直到插入了另外一个格式。
NotesRichTextItem.AppendParagraphStyle:在当前位置插入一个段落格式对象,该位置以后的段落格式都使用这种格式,直到插入了另外一个段落格式。
NotesRichTextItem.BeginSection:在富文本域中插入一个区段。
NotesRichTextItem.EndSection:区段结束,必须和 BeginSection 配对使用。
在两个方法之间可以通过各种 append 方法添加各种元素。插入区段的时候,区段总是在富文本域的最后。还需要注意的是不能创建一个包含富文本域中已有的元素的区段,通过 BeginSection 方法创建的区段总是空的,区段的内容需要通过程序自己添加。

NotesRichTextItem.CreateNavigator:创建一个富文本域导航器对象 NotesRichTextNavigator。
创建一个富文本域导航器只能使用这种方法,NotesRichTextNavigator 也没有 new 方法。也可以 NotesRichTextRange.Navigator 属性来得到一个 NotesRichTextNavigator 对象。

NotesRichTextNavigator 类是用来灵活访问操作富文本域里的内容的最重要的一个类,通过它的一些方法,可以方便的访问到各种富文本域中的元素。
导航器对象 NotesRichTextNavigator 会维护一个当前位置,任何在富文本域中的 get 或者 find 的操作都可能会改变这个当前位置。导航总发生在同一种类型的元素中,主要通过 find 和 get 两类方法来访问相应的元素,找到需要的元素后,再通过 get 方法来取得这个元素。下表列出了这些方法。

NotesRichTextItem.BeginInsert:将插入位置从富文本域结尾处改为指定元素的开始或者结尾处。

NotesRichTextItem.EndInsert:将插入位置重置到富文本域的结尾处,需要和 BeginInsert 配对使用。

在两个方法之间可以通过各种 append 方法添加各种元素。我们来看看 BeginInsert 的具体使用方法:

Call notesRichTextItem.BeginInsert( element, [ after ] )

参数说明

element:可以是 NotesEmbeddedObject, NotesRichTextDocLink, NotesRichTextNavigator, NotesRichTextRange, NotesRichTextSection, 或者 NotesRichTextTable,表示该对象的位置 . 如果是 NotesRichTextNavigator 则表示此 NotesRichTextNavigator 对象所表示的当前位置。

After:布尔型可选参数,True 表示插入位置在元素的末尾,False(缺省值)表示插入位置在元素的开头。