Hallo,
ich möchte mails und deren Anhänge in einem Ordner abspeichern. Dazu wird ein Verzeichnis erstellt und der Inhalt der Mail in eine Datei abgespeichert.
Zusätzlich möchte ich die Attachments ebenfalls in dieses Verzeichnis abspeichern. Bei Richtext Mails funktioniert das auch - jedoch finde ich keine Lösung wenn z.B. unser Scanner ein PDF einscannt - dann ist scheinbar der Anhang nicht vorhanden:
folgender Code:
...................
...............
Set streamdatei = session.CreateStream
Call streamdatei.Open(auswahlvz(0) & "\" & vznew & "\" & dateiname)
Call streamdatei.Writetext(bodyrichtext(0))
Call streamdatei.close
'*****************************************************
'************* Attachment ablösen ************************
Dim rtnav As NotesRichTextNavigator
Dim att As NotesEmbeddedObject
Dim body As NotesRichTextItem
'Wenn keine Embedded dann kann nix abgelöst werden
If Not doc.HasEmbedded Then Exit Sub
'1ter Versuch über den Body einen anhang zu finden
Set body = doc.GetFirstItem("Body")
Set rtnav = body.CreateNavigator
Dim File As NotesEmbeddedObject
Dim VorlagenFeld As Variant
Set VorlagenFeld = doc.GetFirstItem("Body")
If rtnav.FindFirstElement(RTELEM_TYPE_FILEATTACHMENT) Then
Do
Set att = rtnav.GetElement()
Set File = VorlagenFeld.GetEmbeddedObject(att.Source)
If Not (file Is Nothing) Then
File.ExtractFile(createnewdir + "\" + att.Source)
Print " File extracted"
Else
Set File = doc.GetAttachment(att.Source)
if Not (file Is Nothing) Then
File.ExtractFile(createnewdir + "\" + att.Source)
Print "File extracted"
Else
'test abgesehen davon das mehrere Attachments drinnen
'sein können -> Versuch
'Im attachment steht ein anderer Dateiname
'Fehler --> On Disk Struktur
attachmentNames = Evaluate( "@AttachmentNames(1)", doc)
Set File = doc.GetAttachment(attachmentNames(0))
File.ExtractFile("d:\" + attachmentNames(0))
End If
End If
Loop While rtnav.FindNextElement()
End If
'***************************************************************
Das eigenartige ist das bei gewissen Mails im $File ein anderer Dateiname steht als
die Datei selbst benannt ist. Dabei ist die var File im Code immer nothing. Versuche ich dann
über das doc.GetAttachment(attachmentNames(0) das File abzulösen bekomme
ich die Fehlermeldung: Die Datenbank kann wegen eines ungültigen Formats (On-Disk-Struktur) nicht gelesen werden .... Das File selbst kann jedoch ohne Probleme geöffnet werden.
Bin schon schön langsam am verzweifeln .... danke für Ihre Hilfe
lg Michael