LOTUSSCRIPT/COM/OLE CLASSES


Examples: GetNextEntity method
This agent gets all the children at the end of the last branch of a multipart entity by searching breadth first.

Sub Initialize
 Dim s As New NotesSession
 Dim db As NotesDatabase
 Dim dc As NotesDocumentCollection
 Dim doc As NotesDocument
 Dim mime As NotesMIMEEntity
 Dim child As NotesMIMEEntity
 Dim stream As NotesStream
 Set db = s.CurrentDatabase
 s.ConvertMIME = False ' Do not convert MIME to rich text
 Set dc = db.UnprocessedDocuments
 Set doc = dc.GetFirstDocument
 If Not(doc Is Nothing) Then
   Set mime = doc.GetMIMEEntity
   If Not(mime Is Nothing) Then
     REM Drill down to bottom of first branch
     Set child = mime.GetNextEntity(SEARCH_BREADTH)
     While Not(child Is Nothing)
       Set mime = child
       Set child = mime.GetNextEntity(SEARCH_BREADTH)
     Wend
     REM Set up stream for file output
     Set stream = s.CreateStream
     pathname$ = "c:\lotus\notes\data\temp.txt"
     If Not stream.Open(pathname$, "us-ascii") Then
       Messagebox pathname$,, "Open failed"
       Goto ExitSub
     End If
     REM Get content of all children at bottom level
     REM of first branch in reverse order
     Do
       Call mime.GetContentAsText(stream, false)
       Set mime = mime.GetPrevSibling
     Loop Until mime Is Nothing
     Call stream.Close()
   Else
     Messagebox "Not MIME",, doc.GetItemValue("Subject")(0)
   End If
 End If
ExitSub:
s.ConvertMIME = True ' Restore conversion
End Sub

See Also