Mail per Lotus Note mit Hotspot versenden
11.03.2010 13:39:52
NoNet
Hallo Frank,
"Links" in Lotus Notes Mails werden generell per "Verknüpfungs-Hotspot" eingefügt (das weißt Du vermutlich bereits !?!?). die Schwierigkeit besteht nun darin, diesen Verknüpfungs-Hotspot per VBA zu erzeugen.
Ich habe dazu mal etwas recherchiert (auch aus eigenem Interesse ;-) und ein wenig gebastelt und getestet und es ist folgende Beispiel-Lösung herausgekommen :
Option Explicit
Sub eMailPerLotusNotesMitHotspotVersenden()
'11.03.2010, NoNet - www.excelei.de
Dim arrEmpfaenger 'Empfänger as Variant, da möglicherweise ARRAY
Dim arrCC 'CC-Empfänger as Variant, da möglicherweise ARRAY
Dim arrBCC 'BCC-Empfänger as Variant, da möglicherweise ARRAY
'Empfänger, CarbonCopy-Empfänger und BlindCarbonCopy-Empfänger als ARRAY definieren :
arrEmpfaenger = Array("Empfaenger1@FirmaXYZ.de", "Empfaenger2@FirmaXYZ.de", "Sekretariat@ _
FirmaXYZ.de")
arrCC = Array("CC1@FirmaXYZ.de", "CC2@FirmaXYZ.de")
arrBCC = Array("BCC1@FirmaXYZ.de", "BCC2@FirmaXYZ.de")
SendeNotesMail arrEmpfaenger, "Hier der wichtige Betreff !", arrCC, arrBCC
End Sub
Sub SendeNotesMail(arrEmpfaenger, strBetreff, Optional arrCC, Optional arrBCC)
On Error GoTo fehler
'Dimensionierung der Objektvariablen
'Erfordert Verweis auf "Lotus Notes Automation Classes" : C:\Programme\Lotus\Notes\Notes32. _
tlb
'und Verweis auf "Lotus Domino Objects" : C:\Programme\Lotus\Notes\domobj.tlb
Dim objNotes As Object, objNotesDB As Object, objNotesMailDoc As Object
Dim SendItem, NCopyItem, BlindCopyToItem, rtitem, bodyHTML
'Zuweisung der Objektvariablen
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 = arrEmpfaenger
objNotesMailDoc.CopyTo = arrCC
objNotesMailDoc.BlindCopyTo = arrBCC
objNotesMailDoc.Subject = strBetreff
'Nur falls kein HOTSPOT integriert werden soll :
'Set rtitem = objNotesMailDoc.CREATERICHTEXTITEM("Body")
Set bodyHTML = objNotes.createStream
bodyHTML.writeText "Hier der Link :<BR><BR><a href=https://www.google.de> _
Google</a><BR><BR>Gruß, XYZ"
Set rtitem = objNotesMailDoc.createMimeEntity("Body")
rtitem.setContentFromText bodyHTML, "text/html; charset=windows-1255", ENC_NONE
'Mail zustellen
Call objNotesMailDoc.Save(False, False)
Call objNotesMailDoc.SEND(False)
objNotesMailDoc.RemoveItem ("DeliveredDate")
Call objNotesMailDoc.Save(True, False)
'Nachricht an Benutzer
'MsgBox "Die E-Mail wurde erfolgreich versendet!", vbInformation, "Mail versendet :"
'Objektvariablen zurücksetzen
Call objNotes.Close
'Leider funktioniert der Quit-Befehl aus irgend einem Grund nicht :
'objNotes.Quit
Set objNotesDB = Nothing
Set objNotesMailDoc = Nothing
Set objNotes = Nothing
Exit Sub
fehler:
MsgBox Err.Number & " " & Err.Description
End Sub
Bei mir hat das einwandfrei funktioniert - die Mail wurde mit Link zu GOOGLE.de erzeugt und versendet...
Gruß, NoNet