Lotus Notes / Domino Sonstiges > OLE/COM-Programmierung
aus VBA drucken
oberh:
Guten Tag zusammen!
Ich versende aus VBA eine EMAIL mit folgendem Code, der auch funktioniert:
--- Code: ---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
--- Ende Code ---
Nun habe ich ein Problem mit dem Objektmodell.
Die .Print Methode existiert nur zum NotesUIDocument.
Mit der Zeile
--- Code: ---'MailPDFerstellen objNotesDB, objNotesSession, objNotesMailDoc
-->
'Public Sub MailPDFerstellen(ByVal objNotesDB As Object, ByVal objNotesSession As Object, ByVal objNotesMailDoc As Object)
--- Ende Code ---
wollte ich eine Prozedur aufrufen, die u.a. diese Zeile aufrufen soll:
--- Code: ---objNotesMailDoc.Print (1)
--- Ende Code ---
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
ata:
... NotesUIDocument geht nicht per COM-Programmierung
Toni
oberh:
Vielen Dank Toni.
Das ist zwar nicht das, was ich hören wollte ... ;D
Dann werde ich mir wohl etwas anderes überlegen müssen.
Viele Grüße
Olaf
Mir ist da gerade noch eine Idee gekommen:
Könnte man denn von VBA aus einen Agenten mit entsprechendem Code erstellen, ihn ausführen und wieder löschen?
Geht das überhaupt, wenn man keinen Designer Client auf seinem Rechner hat?
ata:
... ne leider auch nicht - du brauchst einen Trigger für Frontend in LotusNotes - und der lässt sich per COM nicht nachbilden...
Toni
ata:
... du könntest per VBA aber den Inhalt in ein Word-Doc schieben, dort kannst du dann ausdrucken...
Toni
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln