例: FindNthElement method

次のエージェントは、現在 (または最初に) 選択されている文書の Body アイテム内の各段落を逆の順序で表示します。

Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim dc As NotesDocumentCollection
  Dim doc As NotesDocument
  Dim body As NotesRichTextItem
  Dim rtnav As NotesRichTextNavigator
  Dim rtrange As NotesRichTextRange
  Set db = session.CurrentDatabase
  Set dc = db.UnprocessedDocuments
  If dc.Count = 0 Then
    Messagebox "No document selected",, "No doc"
    Exit Sub
  End If
  Set doc = dc.GetFirstDocument
  Set body = doc.GetFirstItem("Body")
  Set rtnav = body.CreateNavigator
  If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
    count% = 0
    Do
      count% = count% + 1
    Loop While rtnav.FindNextElement
  Else
    Messagebox "No text in Body",, "No text"
    Exit Sub
  End If
  Set rtrange = body.CreateRange
  For i% = count% To 1 Step -1
    If Not rtnav.FindNthElement(RTELEM_TYPE_TEXTPARAGRAPH, _
    i%) Then
      Messagebox "Element " & count%,, "Cannot find element"
      Exit Sub
    End If
    Call rtrange.SetBegin(rtnav)
    Messagebox rtrange.TextParagraph,, "Paragraph " & i%    
  Next
End Sub