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 end 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 end 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