Anzeige
Archiv - Navigation
748to752
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
748to752
748to752
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lotus Notes - Anhänge

Lotus Notes - Anhänge
29.03.2006 07:09:45
haw
Hallo Excelfreunde,
ich habe den folgenden Code zum Versenden von Mails per Lotus Notes aus diesem Forum.
Ich habe dabei aber nur die Möglichkeit eine Datei anzuhängen.
Wie funktioniert das mit zwei oder mehreren Dateien?

Sub Mailtest()
Dim Ad$, K$, B$, T$, P1$
Ad = "max.muster@xxx.at"
B = "Anhangstest"
T = "Test"
P1 = "C:\EA_Erstellen7.bas"
MailErstellen Ad, K, B, T, P1
End Sub


Sub MailErstellen(Adr$, Kopie$, Betrifft$, Text$, Pfad$)
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, 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
'*** 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
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

Vielen Dank
Heinz

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lotus Notes - Anhänge
29.03.2006 09:22:43
Walter
Hallo Heinz,
hast Du es mit einer Schleife probiert? Die Attachmentpfade in einen Array und diesen dann beim Anhängen abarbeiten.
Gruß Walter (aus Wien)
AW: Lotus Notes - Anhänge
29.03.2006 11:57:39
haw
Hallo Walter,
danke für deinen Tipp, aber mit einem Array (wie beim Empfänger) habe ich es nicht hinbekommen. Ich habe das wie folgt gelöst (könnte eventuell auch mit einer Schleife gelöst werden):

Sub Mailtest()
Dim Ad$, K$, B$, T$, P1$, P2$
Ad = "heinz.wankmueller@ktn.gv.at"
B = "Anhangstest"
T = "Test"
P1 = "C:\Daten\Test1.txt"
P2 = "C:\Daten\Test1.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

Gruß
Heinz
Anzeige
Lotus Notes - Anhänge- Schleife
29.03.2006 12:28:30
haw
Hier nun auch eine Schleifenvariante:

Sub Mailtest3()
Dim Ad$, K$, B$, T$, P1$, P2$
Ad = "xxx.yyy@zzz.at"
B = "Anhangstest"
T = "Test2"
P1 = "C:\Daten\Excel\1Projekte\EA_Erstellen7.bas"
P1 = P1 & " ; C:\Daten\Excel\Zusammenstellung Buchungszeile.xls"
MailErstellen3 Ad, K, B, T, P1
End Sub


Sub MailErstellen3(Adr$, Kopie$, Betrifft$, Text$, Pfad$)
Dim sText As String, sEmpfang As String, sBetrifft As String, a%
Dim session As Object, db As Object, doc As Object, rtobject As Object
Dim rtitem As Object, sKopie As String, AttachMe 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 Variant
'*** 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 = Split(Pfad, " ; ") ' Muss natürlich richtig gesetzt werden
'            MsgBox UBound(sAnhang) + 1
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 Pfad <> "" Then
Set AttachMe = doc.CREATERICHTEXTITEM("Attachment")
For a = 0 To UBound(sAnhang)
Set DerAnhang = AttachMe.EMBEDOBJECT(1454, "", sAnhang(a), "Attachment")
Next a
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

Gruß
Heinz
Anzeige
AW: Lotus Notes - Anhänge- Schleife
29.03.2006 18:21:47
Walter
Hallo Heinz,
super! Genauso habe ich mir das vorgestellt.
Gruß Walter

132 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige