Guten Tag zusammen!
Ich versende aus VBA eine EMAIL mit folgendem Code, der auch funktioniert:
Public Function NotesMailNewDraft(strSendTo As Variant, strCopyTo As Variant, strSubject As Variant, strText As Variant, _
strcc As Variant, strbcc As Variant, Mailanhang As String, boStatus As Boolean)
' # Late-Binding
Dim objNotesSession As Object, objNotesDB As Object, objNotesMailDoc As Object
Dim SendItem, NCopyItem, BlindCopyToItem, i As Integer, rtitem
' # Late-Binding
Set objNotesSession = GetObject("", "Notes.Notessession")
Set objNotesDB = objNotesSession.GetDatabase("", "")
Call objNotesDB.OPENMAIL
Set objNotesMailDoc = objNotesDB.CREATEDOCUMENT
objNotesMailDoc.Form = "Memo"
Call objNotesMailDoc.Save(True, False)
Set SendItem = objNotesMailDoc.APPENDITEMVALUE("SendTo", "")
Set NCopyItem = objNotesMailDoc.APPENDITEMVALUE("CopyTo", "")
Set BlindCopyToItem = objNotesMailDoc.APPENDITEMVALUE("BlindCopyTo", "")
objNotesMailDoc.SendTo = strSendTo
objNotesMailDoc.CopyTo = strCopyTo
objNotesMailDoc.Subject = strSubject
Set rtitem = objNotesMailDoc.CreateRichTextItem("Body")
objNotesMailDoc.Body = strText
Call objNotesMailDoc.Save(True, False)
objNotesMailDoc.RemoveItem ("DeliveredDate")
Call objNotesMailDoc.Save(True, False)
'''''''''''''' Dateianhang'''''''''''''''''
Dim xy
Dim EmbeddedObject As Object
Dim mailanhang2, s As Variant
If Right$(Mailanhang, 1) = ";" Then
Mailanhang = Left$(Mailanhang, Len(Mailanhang) - 1)
End If
Const cdelim$ = ";"
Const embed_ATT = 1454
s = Split(Mailanhang, ";")
For xy = LBound(s) To UBound(s)
mailanhang2 = s(xy)
Set rtitem = objNotesMailDoc.CreateRichTextItem(mailanhang2)
Set EmbeddedObject = rtitem.EmbedObject(embed_ATT, "", mailanhang2, mailanhang2)
Next xy
''''''''''''''''''''''''''''''''''''''''''
Call objNotesMailDoc.Save(True, False)
Select Case boStatus
Case True
objNotesMailDoc.PostedDate = Now()
Call objNotesMailDoc.SEND(True, False)
'# Hier eventuell noch ein PDF der Mail erstellen
'####################################################################
'####################################################################
' MailPDFerstellen objNotesDB, objNotesSession, objNotesMailDoc
'####################################################################
objNotesMailDoc.Remove (True)
MsgBox "Die EMail wurde gesendet!", vbInformation, "Hinweis"
Case False
MsgBox "Die EMail wurde erfolgreich im Ordner Entwürfe erstellt!", vbInformation, "Hinweis"
End Select
Call objNotesSession.Close: Set objNotesSession = Nothing
Set rtitem = Nothing
Set EmbeddedObject = Nothing
Set objNotesMailDoc = Nothing
Set SendItem = Nothing
Set NCopyItem = Nothing
Set BlindCopyToItem = Nothing
Set objNotesDB = Nothing
End Function
Nun habe ich ein Problem mit dem Objektmodell.
Die .Print Methode existiert nur zum NotesUIDocument.
Mit der Zeile
'MailPDFerstellen objNotesDB, objNotesSession, objNotesMailDoc
-->
'Public Sub MailPDFerstellen(ByVal objNotesDB As Object, ByVal objNotesSession As Object, ByVal objNotesMailDoc As Object)
wollte ich eine Prozedur aufrufen, die u.a. diese Zeile aufrufen soll:
objNotesMailDoc.Print (1)
Da das Objekt die Methode nicht unterstützt, kracht es hier.
Wie muss der obige Code abgeändert werden, damit dort ein NotesUIDocument erstellt wird?
Ich bedanke mich im Voraus
Olaf