LOTUSSCRIPT/COM/OLE CLASSES


Examples: Update method
This agent updates processing after each of a series of find-and-replace operations in a rich text item.

Dim session As 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

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
 searchString$ = Inputbox$ _
 ("Enter the search string", "Search string")
 If searchString$ = "" Then Exit Sub
 replaceString$ = Inputbox _
 ("Enter the replacement string", "Replacement string")
 If replaceString$ = "" Then Exit Sub
 Call rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH)
 n% = 0
 Set rtrange = body.CreateRange
 While rtrange.FindAndReplace _
 (searchString$, replaceString$, RT_FIND_CASEINSENSITIVE) > 0
   n% = n% + 1
   Messagebox "Replacement " & n%,, n%
   Call body.Update ' Must update before looping
 Wend
 If n% > 0 Then
   Call body.Compact
   Call doc.Save(True, True)
 End If End Sub

See Also