科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道检验 RTF文本域是否为空

检验 RTF文本域是否为空

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

当RTF文本中仅仅包含一个文档链接、OLE 对象或文件附件,而没有文字的时候,怎样检查RTF文本域中是否为空?

作者:www.chinaitpower.com 来源:www.chinaitpower.com 2007年9月11日

关键字: 函数 管理 IBM lotus Office

  • 评论
  • 分享微博
  • 分享邮件

当RTF文本中仅仅包含一个文档链接、OLE 对象或文件附件,而没有文字的时候,怎样检查RTF文本域中是否为空?

这里主要用到了NotesUIDocument的SelectAll 和 DeSelectAll 成员函数。他们的用法如下:

Call NotesUIDocument.SelectAll

Call NotesUIDocument.DeSelectAll

如果文档在编辑模式下,则SelectAll 成员函数选择当前域的内容。如果文档处于读模式,则选择全部文档内容。

和SelectAll 相反,DeSelectAll取消选取文档的全部内容。当没有选择任何条目时,DeSelectAll函数将产生一个编号为4407的错误(“文档命令无效”错误)。

由于文档链接、附件、OLE对象等都是可以选择的内容,SelectAll 成员函数可以作用与RTF 文本域的任何内容。因此,只要当前文档处于编辑模式下,就可以执行以下语句:

Call uidoc.GotoField("RichTextField")

Call uidoc.SelectAll

Call uidoc.DeSelectAll

如果DeSelectAll函数产生错误4407,就说明该RTF文本域中没有任何内容。

下面的IsRTFNull函数检查RTF文本域是否为空。参数rtfield 为RTF域的域名。如果函数返回TRUE,说明该域中没有任何内容,否则返回 False。

 

Function IsRTFNull(rtfield as String) as Integer

On Error Goto Errhandle

dim Ws as New NotesUIWorkSpace

dim uidoc as NotesUIdocument

set uidoc=Ws.Currentdocument

'取得当前光标所在的位置

'以便在检查结束之后将光标位置还原

'如果uidoc.CurrentField属性为空(光标所在位置为按钮)

'程序结束的时候光标停留在RTF域中

CurrentField=uidoc.CurrentField

call uidoc.GotoGied(rtfField)

call uidoc.SelectAll

Call uidoc.DeSelectAll

'  将光标位置还原

if CurrentField<>"" then

  Call uidoc.GotoFiled(Currentfield)

end if

IsRTFNull=False

Exit Function

Errhandle:

Select Case Err

Case 4407

if CurrentField<>"" then

  Call uidoc.GotoFiled(Currentfield)

end if

IsRTFNull=True

Exit Function

Case Else

  Error Err

End Select

End Function

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章