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