LOTUSSCRIPT/COM/OLE CLASSES


Examples: EndInsert method
This agent iteratively prepends or appends paragraphs to an item, depending on user input. Insertions at the beginning require a paired BeginInsert and 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

See Also