Herbers Excel-Forum - das Archiv

Per vba Lotus-Mail verschicken

Bild

Betrifft: Per vba Lotus-Mail verschicken
von: Moni

Geschrieben am: 29.12.2006 11:30:21
Hallo Zusammen,
ich verschicke mit dem nachfolgenden VBA-Code (Auszug) mit Lotus eine E-Mail
mit Anhang. Klappt soweit ganz gut, aber ich hätte gerne 2 Verbresserungen:
1. Wie kann ich in "Sendto" einen Verteiler anlegen ?
Ich habe es hiermit versucht: " " & " ", mit Komma, usw. Aber es funktioniert nicht. Kann ich hier wirklich nur einen Empfänger eingeben ?
2. Kann ich eine Mail verschicken, ohne dass ich Lotus vorher öffnen muss ?
Habt Ihr einen Tipp ?
Viele Grüße,
Moni
Dim Betreff As String
Dim Empfaenger As String
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Dim ABSENDER As String
Dim DATEIANHANG As String
Dim rtitem As Object
Dim EmbeddedObject As Object
ABSENDER = ""
On Error GoTo Err_Mail_Click
Dim SessionNotes As Object, NotesDB As Object, NotesDoc As Object
Set SessionNotes = CreateObject("Notes.NOTESSESSION")
Set NotesDB = SessionNotes.GetDatabase("", "")
NotesDB.OPENMAIL
If NotesDB.IsOpen = False Then
MsgBox "Bitte melden Sie sich zunächst vollständig in Notes an!", vbInformation + vbOKOnly
Exit Sub
End If
Set NotesDoc = NotesDB.CreateDocument
With NotesDoc
.Form = "Memo"
.Subject = ""
.sendto = " "
.copyto = " "
'.blindcopyto= ""
.body = " "
Bild

Betrifft: AW: Per vba Lotus-Mail verschicken
von: haw

Geschrieben am: 29.12.2006 11:47:05
Hallo Moni,
hier ein Code, den ich aus dem Netz habe:
Sub Mailtest()
Dim Ad$, K$, B$, T$, P1$, P2$
Ad = "heinz.wankmueller@ktn.gv.at"
B = "Anhangstest"
T = "Test"
P1 = "C:\Daten\Excel\1Projekte\P078(File-Transfer Abt.7)\EA_Erstellen7.bas"
P2 = "C:\Daten\Excel\1Projekte\P078(File-Transfer Abt.7)\Zusammenstellung Buchungszeile.xls"
MailErstellen Ad, K, B, T, P1, P2
End Sub

Sub MailErstellen(Adr$, Kopie$, Betrifft$, Text$, Pfad$, Pfad2$)
Dim sText As String, sEmpfang As String, sBetrifft As String
Dim session As Object, db As Object, doc As Object, rtobject As Object
Dim rtitem As Object, sKopie As String, AttachMe As Object, AttachMe2 As Object, DerAnhang As Object
Dim user As String, server As String, mailfile As String, sBlindKopie As String
Dim vAn As Variant, vCopy As Variant, vBlind As Variant, sAnhang As String, sAnhang2 As String
'*** Mail erstellen
'           sText = "Test " & vbCrLf & "Zweite Zeile" & vbCrLf & "Lotus Notes Mail" ' Testtext
sText = Text
sText = Replace(sText, vbCrLf, Chr(10)) ' Zeilenumbrüche ändern
'    sEmpfang = "Email1 ; Email2 " ' Einträge durch " ; " getrennt
sEmpfang = Adr ' Einträge durch " ; " getrennt
sBetrifft = Betrifft ' die Betreffzeile
sKopie = Kopie
'    sKopie = "heinz.wankmueller@ktn.gv.at" ' Einträge durch " ; " getrennt
'    sBlindKopie = "Email1 ; Email2 " ' Einträge durch " ; " getrennt
vAn = Split(sEmpfang, " ; ") ' Empfänger Array
sAnhang = Pfad ' Muss natürlich richtig gesetzt werden
sAnhang2 = Pfad2
If Len(sKopie) > 0 Then vCopy = Split(sKopie, " ; ") 'cc Array
If Len(sBlindKopie) > 0 Then vBlind = Split(sBlindKopie, " ; ")  'bcc Array
Set session = CreateObject("notes.notessession") ' Notes muss gestartet sein denke ich
user = session.UserName
server = session.GetEnvironmentString("MailServer", True)
mailfile = session.GetEnvironmentString("MailFile", True)
Set db = session.getdatabase(server, mailfile)
Set doc = db.createdocument()
doc.Form = "Memo"
doc.SendTo = vAn  ' an array
If Len(sKopie) > 0 Then doc.copyto = vCopy 'cc Array
If Len(sBlindKopie) > 0 Then doc.blindcopyto = vBlind 'bcc Array
doc.Subject = sBetrifft ' die Betreffzeile
Set rtitem = doc.CREATERICHTEXTITEM("body")
Call rtitem.APPENDTEXT(sText)
doc.SAVEMESSAGEONSEND = True
doc.ReplaceItemValue("ReturnReceipt", "1") = True
doc.PostedDate = Now
If sAnhang <> "" Then
Set AttachMe = doc.CREATERICHTEXTITEM("Attachment")
Set DerAnhang = AttachMe.EMBEDOBJECT(1454, "", sAnhang, "Attachment")
End If
If sAnhang2 <> "" Then
Set DerAnhang = AttachMe.EMBEDOBJECT(1454, "", sAnhang2, "Attachment")
End If
Call doc.Send(False)
Aufraeumen:
On Error Resume Next
Set rtitem = Nothing
Set AttachMe = Nothing
Set DerAnhang = Nothing
Set db = Nothing
Set doc = Nothing
Set session = Nothing
Exit Sub
Fehler:
Resume Aufraeumen
End Sub

Das sollte deine Frage 1 beantworten
Meines Wissens muss Lotus Notes geöffnet sein.
Gruß Heinz
Bild

Betrifft: AW: Per vba Lotus-Mail verschicken
von: Moni
Geschrieben am: 29.12.2006 15:17:49
Hallo Heinz,
prima, so funktionier es. Danke.
Grüße,
Monika
 Bild