Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1112to1116
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
Inhaltsverzeichnis

Exceldateien per LN an variable Empfänger senden

Exceldateien per LN an variable Empfänger senden
Wolfgang

Hallo, liebe "Excelgemeinde" !
Ich muß sehr kurzfristig folgendes Problem lösen und hoffe auf Eure Hilfe:
Im Büro versende ich täglich diverse Excelarbeitsmappen oder auch einzelne Tabellenblätter via Lotus Notes 6.5 über ein im Netz gefundenes und angepasstes VBA-Makro an einzelne, direkt im Makro hinterlegte E-Mailempfänger. Das geht schnell, klappt problemlos und spart jede Menge Zeit und Arbeit. Ein Anklicken des Buttons und Sekunden später habe ich eine Sendebestätigung in meiner Mailbox.
Jetzt möchte ich aber, daß der Empfänger nicht fix im Makro abgelegt werden muß, sondern variabel aus einem anderen Tabellenblatt eingelesen wird.
Also Tabellenblatt A "DATEN" soll versendet werden und die jeweiligen E-Mailempfänger jedesmal neu
aus dem Tabellenblatt B "MAILADRESSEN" eingelesen werden.
Kann mir bitte jemand auf die Sprünge helfen, wie eine solche Variable ins Makro eingebaut werden könnte ?
Vielen Dank im voraus und viele Grüße
Wolfgang

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

Betreff
Benutzer
Anzeige
AW: Exceldateien per LN an variable Empfänger senden
03.11.2009 07:30:28
Hajo_Zi
Hallo Wolfgang,
falls Du nicht warten möchtest bis jemand auf Dein Rechner schaut, wäre das Makro im Beitrag schon nicht schlecht.

AW: Exceldateien per LN an variable Empfänger senden
03.11.2009 07:39:24
Wolfgang
Hallo Hajo !
Entschuldige, da hätte ich auch gleich dran denken können...
Also....mein Makro sieht augenblicklich etwa so aus:
'Makro für das Versenden von Exceldateien via Lotus Notes
Sub Sende_per_LotusNotes()
Dim Maildb As Object
Dim MailDbName As String
Dim MailDoc As Object
Dim session As Object
'Bei nur einem Empfänger in der folgenden Zeile (1), sonst Anzahl Empfänger
Dim Recip(2) As Variant
Dim e As String
Dim f As String
Dim EmbedObj As Object
Dim AttachME As Object
Set session = CreateObject("Notes.NotesSession")
Set Maildb = session.CURRENTDATABASE
'On Error Resume Next
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'Bei mehreren Empfängern die Zahlen in den Klammern entsprechend hochzählen
'und die Zahl bei "Dim Recip() as Variant entsprechend ändern
Recip(1) = "Empfänger1@xyz.com"
Recip(2) = "Empfänger2@xyz.com"
MailDoc.sendto = Recip
MailDoc.CopyTo = ""             'Kopie an:"xyz" hier eintragen
MailDoc.Subject = "Test"       'Betreffzeile: "xyz" hier eintragen
MailDoc.SAVEMESSAGEONSEND = True
'Hier in der Klammer den Pfad zur zu versendenden Datei eingeben
Set AttachME = MailDoc.CREATERICHTEXTITEM("C:\Dokumente und Einstellungen\User1\Desktop\Test. _
xls")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", "C:\Dokumente und Einstellungen\User1\Desktop\ _
Test.xls")
'Um weitere Dateianhänge mitzusenden, in den nächsten Zeilen den Pfad zu dieser Datei eingeben.' _
Ansonsten können die nächsten zwei Zeilen gelöscht bzw. durch (') deaktiviert werden
Set AttachME = MailDoc.CREATERICHTEXTITEM("C:\Dokumente und Einstellungen\User1\Desktop\Test1. _
xls")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", "C:\Dokumente und Einstellungen\User1\Desktop\ _
Test1.xls")
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set session = Nothing
Set EmbedObj = Nothing
MsgBox "Mail versandt!"
End Sub

Anzeige
AW: Exceldateien per LN an variable Empfänger senden
03.11.2009 09:46:47
Armin
Hallo Wolfgang,
so müsste es gehen. Man kann natürlich auch alle Adressen auf einmal lesen und in einem Pool zwischenspeichern. Pfade und Namen müssen noch angepasst werden.
Sub Sende_per_LotusNotes()
Dim Maildb As Object
Dim MailDbName As String
Dim MailDoc As Object
Dim session As Object
'Bei nur einem Empfänger in der folgenden Zeile (1), sonst Anzahl Empfänger
Dim RC As String
Dim Recip(2) As Variant
Dim e As String
Dim AdrId As Integer
Dim f As String
Dim EmbedObj As Object
Dim AttachME As Object
Set session = CreateObject("Notes.NotesSession")
Set Maildb = session.CURRENTDATABASE
'On Error Resume Next
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'Bei mehreren Empfängern die Zahlen in den Klammern entsprechend hochzählen
'und die Zahl bei "Dim Recip() as Variant entsprechend ändern
AdrId = 1
RC = ADR_daten(ADR_ID)
Do While RC  ""
MailDoc.sendto = RC
MailDoc.CopyTo = ""             'Kopie an:"xyz" hier eintragen
MailDoc.Subject = "Test"       'Betreffzeile: "xyz" hier eintragen
MailDoc.SAVEMESSAGEONSEND = True
'Hier in der Klammer den Pfad zur zu versendenden Datei eingeben
Set AttachME = MailDoc.CREATERICHTEXTITEM("C:\Dokumente und Einstellungen\User1\Desktop\ _
Test.xls ")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", "C:\Dokumente und Einstellungen\User1\Desktop\ _
Test.xls ")
'Um weitere Dateianhänge mitzusenden, in den nächsten Zeilen den Pfad zu dieser Datei  _
eingeben.' _
Ansonsten können die nächsten zwei Zeilen gelöscht bzw. durch (') deaktiviert werden
Set AttachME = MailDoc.CREATERICHTEXTITEM("C:\Dokumente und Einstellungen\User1\Desktop\ _
Test1.xls ")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", "C:\Dokumente und Einstellungen\User1\Desktop\ _
Test1.xls ")
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set session = Nothing
Set EmbedObj = Nothing
ADR_ID = ADR_ID + 1
RC = ADR_daten(ADR_ID)
' ? MsgBox "Mail versandt!"
Loop
End Sub
Function ADR_daten(ADR_ID As Integer)
Dim Pfad As String
Dim FName As String
Dim WS As Worksheet
FName = "MeineAdressen.xls"
Application.ScreenUpdating = False
Pfad = ActiveWorkbook.Path & "\Adressen\"
If Dir(Pfad & FName)  "" Then
Application.DisplayAlerts = False
Workbooks.Open Filename:=Pfad & FName, ReadOnly:=True
ADR_daten = Worksheet("EMail").Celles(ADR_ID, 1).Value
Workbooks(f).Close savechanges:=False
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Function
Gruß Armin
Anzeige
AW: Exceldateien per LN an variable Empfänger senden
03.11.2009 17:03:57
Wolfgang
Hallo Armin !
Vielen Dank für die Rückantwort. Leider hatte ich heute zuviel zu tun, um es in Ruhe zu testen.
Ich melde mich wieder.
Gruß
Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige