Examples: GetFirstChildEntity method

This agent gets the child at the end of the first or only branch of a multipart entity.

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 child of first branch
      Set child = mime.GetFirstChildEntity
      While Not(child Is Nothing)
        Set mime = child
        Set child = mime.GetFirstChildEntity
      Wend
      If mime.ContentType = "text" And _
      mime.ContentSubType = "plain" Then
        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 Write content of child to file
        Call mime.GetContentAsText(stream)
      Else
        Messagebox "Not plain text",, _
        doc.GetItemValue("Subject")(0)
      End If
    Else
      Messagebox "Not MIME",, _
      doc.GetItemValue("Subject")(0)
    End If
  End If
ExitSub:
  s.ConvertMIME = True ' Restore conversion
End Sub