Mail aus VBA via Lotus Notes verschicken |
|
Neben der Möglichkeit, E-Mails aus Word/VBA über ein API oder MAPI zu verschicken, lässt sich auch die E-Mail-Funktion von Lotus Notes (R5) zum Versenden verwenden. Allerdings ist hier der Aufwand grö๎er, da Lotus Notes datenbankbasierend arbeitet. Um auf Lotus Notes zugreifen zu können, ist ein Zugriff auf das Notes-Objekt über die Lotus Notes Automation Classes notwendig, d.h. Lotus Notes
muss installiert und registriert sein, damit die Datei notes32.dll angesprochen werden kann. Die Konfiguration der E-Mail-Parameter erfolgt innerhalb des Makros NotesMail, während der Mail-Versand in der Funktion NotesMailSend erfolgt. Sub NotesMail() Dim strEmpfaenger, strBetreff, strText, strcc, strbcc As String Dim strFile As String strEmpfaenger = "Empfaenger@domain.tld" strBetreff = "BetreffText" strText = "Test" strText = "Bitte beachten Sie ..." strFile = "D:\logo.sys" 'ActiveDocument.FullName NotesMailSend strEmpfaenger, strBetreff, strText, strcc, _ strbcc, strFile End Sub Function NotesMailSend(strEmpfaenger As Variant, strBetreff As Variant, _ strText As Variant, strcc As Variant, strbcc As Variant, strFilename As _ String) ' Dimensionierung der Objektvariablen Dim objNotes As Object, objNotesDB As Object, objNotesMailDoc As Object Dim SendItem, NCopyItem, BlindCopyToItem, i As Integer, rtitem Dim msg As String ' ' Zuweisung der Objektvariablen 'On Error GoTo ExitF Set objNotes = GetObject("", "Notes.Notessession") Set objNotesDB = objNotes.GETDATABASE("", "") ' Öffnen der Standard-Maildatenbank / Erstellen neues Maildokument 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 = strEmpfaenger objNotesMailDoc.Subject = strBetreff Set rtitem = objNotesMailDoc.CREATERICHTEXTITEM("Body") objNotesMailDoc.Body = strText rtitem.ADDNEWLINE (1) Call rtitem.EMBEDOBJECT(1454, "", strFilename) ' Mail zustellen Call objNotesMailDoc.Save(True, False) Call objNotesMailDoc.send(False) objNotesMailDoc.RemoveItem ("DeliveredDate") Call objNotesMailDoc.Save(True, False) ' Nachricht an Benutzer msg = "Die E-Mail wurde erfolgreich versendet!" MsgBox msg, vbInformation, "Notesmail versenden..." ' Objektvariablen zurücksetzen Call objNotes.Close ' Leider funktioniert der Quit-Befehl aus irgend einem Grund nicht. objNotes.Quit Set objNotes = Nothing ExitF: End Function |
Besucher: 0 online | 0 heute | 0 diesen Monat | 2227150 insgesamt | Seitenaufrufe: 30 | Letzte Änderung: 24.06.2006 | © 2001-18 Christian Freßdorf | ||||
Denken heißt vergleichen. Walther Rathenau |
powered by phpCMS and PAX |