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(缺省值)表示插入位置在元素的开头。

使用LotusScript操作Lotus Notes RTF域的更多相关文章

  1. Lotus开发之Lotus Notes中域的验证

    一:介绍       Lotus中的域主要有以下的类型:文本,日期/时间,对话框列表,复选框,单选按钮,RTF等等.Lotus中域的验证方式有很多种公式,lotusscript,javascript等 ...

  2. Undokumentierte @Formeln/LotusScript im Lotus Notes Client/Server

    Erstellung von Replik-IDs mittels @Text-Funktion@Text( @Now; "*" )Source NoPersist option ...

  3. Lotus Notes 学习笔记

    这是一个学习关于如何使用Lotus Notes的Agent功能来实现自动化办公的学习笔记. 一. 介绍 Lotus Notes/Domino 是一个世界领先的企业级通讯.协同工作及Internet/I ...

  4. Lotus Notes中编程发送邮件(二)

    在编程发送各种类似通知的邮件时,时常会需要发件人显示为某个特定的帐户,比如某个部门的名称或者管理员的名字.另一种需求是,用户收到某封邮件后,回复邮件的地址不同于发件人栏显示的地址.而正常情况下,发送邮 ...

  5. 46. Lotus Notes中编程发送邮件(一)

    邮件是Lotus Notes体系的核心和基本功能,以至于Send()是NotesDocument的一个方法,任何一个文档都可以被发送出去,Notes里的一封邮件也只是一个有一些特殊字段的文档.在程序开 ...

  6. 52. 模版和设计元素——Lotus Notes的代码重用

    不论是理论上还是实用上,代码重用都是编程的一个重要议题.可以从两个角度来讨论代码重用. 一是逻辑上代码以怎样的方式被重用.既可以通过面向对象的思想普及以来耳熟能详的继承的方式.比如先建了一个车的基类, ...

  7. C# 使用 Lotus notes 公共邮箱发送邮件

    公司的邮件系统用的是反人类的 Lotus notes, 你敢信? 最近要实现一个功能,邮件提醒功能,就是通过自动发送提醒邮件 前前后后这个问题搞了2天,由于公司的诸多条件限制,无法直接调用到公司发送邮 ...

  8. C# Windows Service调用IBM Lotus Notes发送邮件

    近日研究了下IBM Lotus Mail,这货果然是麻烦,由于公司策略,没有开放smtp,很多系统邮件都没有办法发送,于是入手google学习Lotus Mail,想做成Windows服务,提供wcf ...

  9. 55. 略谈Lotus Notes的与众不同及系列文章至此的总结

    在二十多年的悠久历史里,Lotus Notes发展出一整套独特的概念.技术和思维.由于它早期惊人的领先时代和后续发展中同样惊人的忠于传统,这位软件领域的寿星在如今发展更新速度远超往日和技术愈趋公开互通 ...

随机推荐

  1. HLSL之镜面反射光照

    今天学习的是镜面的反射光照,其实一般在场景中基本环境光和漫反射光照已经可以表现出一个不错的照明了,今天的镜面反射光照其实仅仅适合于需要在表面添加抛光或者闪耀的物体上,例如金属.玻璃等等,同时也是基于之 ...

  2. 业务代码中(java class)中如何实现多线程,并且将子线程中的值随方法返回返回值

    转载自http://bbs.csdn.net/topics/390731832 问题: public static String getAddress(final InputStream inputS ...

  3. android中include 的使用讲解

    include的作用就是重复使用同一段代码,提高代码的重用性.具体说就是,通过include 在 某布局 a.xml 中引用 B.xml布局文件,这个b.xml可同时被多个布局同时使用,所以达到了同一 ...

  4. T4模板之初体验(语法)

    一.什么是T4模板 T4是Text Template Transformation Toolkit(文本模板转换工具包)的四个英文首字母的简称.是微软提供的一种代码生成引擎. 在ADO.NET实体数据 ...

  5. log4net Tutorial

    Introduction One of the greatest logging tools out there for .NET is log4net. This software is the g ...

  6. 高性能的数据压缩库libzling

    libzling(https://github.com/richox/libzling)是一款高性能的数据压缩库,在压缩时间和压缩率上都超过了流行的zlib/gzip.libzling使用的是ROLZ ...

  7. OpenGL(四)——有用的函数

    概述 1. reshape 定义窗口和图像的映射关系,使在不以纵横比4:3调整窗口大小时,图像不会失真 函数 1. ReShape 如果变更后的窗体的横纵比大于4/3,需要以高为基数,宽为高*4/3, ...

  8. autorelease的对象何时被释放

    autorelease的对象何时被释放 参考答案: 如果了解一点点Run Loop的知道,应该了解到:Run Loop在每个事件循环结束后会去自动释放池将所有自动释放对象的引用计数减一,若引用计数变成 ...

  9. 体验应用程序在Mac/iPhone/iPad之间的Handoff

    对于苹果新推出的Handoff功能,之前只体验了接电话的Handoff.一个电话打过来,iPhone/iPad/Mac同时响起,这时如果手上拿着东西在吃,就可以直接在Mac上接电话. 除此之外,还可以 ...

  10. Unity3D启动报错的解决方案

    在Windows Server 2003 下安装好Unity3D,启动时报错--“Failed to initialize unity graphics.”,截图如下: 在网上搜了一下,说是要启用D3 ...