例: LotusScript® のクラスでリッチテキストアイテム内を移動する

次のエージェントは、文書の Body アイテムのすべての要素を数えます。

Sub Initialize
  Dim session As NotesSession
  Dim db As NotesDatabase
  Dim dc As NotesDocumentCollection
  Dim doc As NotesDocument
  Dim body As NotesRichTextItem
  Dim rtnav As NotesRichTextNavigator
  Set session = New NotesSession
  Set db = session.CurrentDatabase
  Set dc = db.UnprocessedDocuments
  Set doc = dc.GetFirstDocument
  Set body = doc.GetFirstItem("Body")
  Set rtnav = body.CreateNavigator
  REM Get count of doclinks
  count% = GetElementCount(rtnav, RTELEM_TYPE_DOCLINK)
  msg$ = msg$ & "Doclinks:" & Chr(9) & Chr(9) & count% & Chr(10)
  REM Get count of file attachments
  count% = GetElementCount(rtnav, RTELEM_TYPE_FILEATTACHMENT)
  msg$ = msg$ & "File attachments:" & Chr(9) & count% & Chr(10)
  REM Get count of embedded objects
  count% = GetElementCount(rtnav, RTELEM_TYPE_OLE)
  msg$ = msg$ & "Embedded objects:" & Chr(9) & count% & Chr(10)
  REM Get count of sections
  count% = GetElementCount(rtnav, RTELEM_TYPE_SECTION)
  msg$ = msg$ & "Sections:" & Chr(9)  & Chr(9) & count% & Chr(10)
  REM Get count of tables
  count% = GetElementCount(rtnav, RTELEM_TYPE_TABLE)
  msg$ = msg$ & "Tables:" & Chr(9)  & Chr(9) & count% & Chr(10)
  REM Get count of tables
  count% = GetElementCount(rtnav, RTELEM_TYPE_TABLE)
  msg$ = msg$ & "Tables:" & Chr(9)  & Chr(9) & count% & Chr(10)
  REM Get count of text paragraphs
  count% = GetElementCount(rtnav, RTELEM_TYPE_TEXTPARAGRAPH)
  msg$ = msg$ & "Text paragraphs:" & Chr(9)  & count% & Chr(10)
  REM Get count of text runs
  count% = GetElementCount(rtnav, RTELEM_TYPE_TEXTRUN)
  msg$ = msg$ & "Text runs:" & Chr(9)  & Chr(9)  & count% & Chr(10)
  REM Display counts
  Messagebox msg$,, doc.Subject(0)
End Sub

Function GetElementCount(rtnav As NotesRichTextNavigator, eType As Integer) As Integer
  GetElementCount = 0
  If rtnav.FindFirstElement(eType) Then
    Do
      GetElementCount = GetElementCount + 1
    Loop While rtnav.FindNextElement()
  End If
End Function