次のエージェントは、ユーザーの入力に応じて段落を繰り返しアイテムに付加または追加します。最初に挿入する場合には、ペアになった BeginInsert と EndInsert が必要です。
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim body As NotesRichTextItem
Dim rtnav As NotesRichTextNavigator
Sub Initialize
Set session = New NotesSession
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
it$ = Inputbox$("Begin with ^ to prepend", _
"Enter text or blank to exit")
REM If Body item is empty, just append text
If it$ = "" Then Exit Sub
If body.Text = "" Then
If Left(it$, 1) = "^" Then it$ = Right(it$, Len(it$) - 1)
Call body.AppendText(it$)
it$ = Inputbox$( _
"Begin with ^ to put in front of last paragraph", _
"Enter text or blank to exit")
End If
While it$ <> ""
REM if ^, delete ^ and insert text before first paragraph
If Left(it$, 1) = "^" Then
it$ = Right(it$, Len(it$) - 1)
rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH)
Call body.BeginInsert(rtnav)
Call body.AppendText(it$)
Call body.AddNewLine(1)
Call body.EndInsert
REM If no ^, append text to end of Body item
Else
Call body.AddNewLine(1)
Call body.AppendText(it$)
End If
it$ = Inputbox$( _
"Begin with ^ to put in front of last paragraph", _
"Enter text or blank to exit")
Wend
Call doc.Save(True, True)
End Sub