2
www.ChF-Online.de  

Mail aus VBA via Lotus Notes verschicken

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
 Verschiedenes
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
aktiv aktiv VBA und Lotus Notes
 Lotus Notes Adressbuch
aktiv  Mailen via Lotus Notes
 VBA und Mail
 Inside VBAIDE
 Von Word nach Outlook
 Fix-und-Fertiges/Projekte
   Word2007 (RibbonX)
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word97Getestet unter Word2000   Lotus Notes R5
Makro/Datei speichern
Print

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.
Über das Notes-Objekt lassen sich dann alle E-Mail-Funktionen, inkl. Mail-Anhang, ausführen.

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