LOTUSSCRIPT/COM/OLE CLASSES


Examples: Compact method
This agent compacts the Body item of the current or first selected document after a search and replace.

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