Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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

Excel Dateien an mehrere Empfänger versenden

Excel Dateien an mehrere Empfänger versenden
28.02.2018 18:23:40
WolfgangK
Guten Tag,
ich habe 11 xlsx Dateien in einem Verzeichnis abgelegt, die ich nun mit 1 Klick per Makro aus Outlook versenden möchte.
Es gibt Empfänger, die nur eine Datei bekommen, andere bekommen mehrere, zwei Empfänger erhalten alle Dateien.
Als Basis habe ich im Archiv gefunden

Sub Versand()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "abc@def.com"
.Subject = "Report"
.Body = "MfG Wolfgang"
.Attachments.Add "C:\abc\def.xlsx"
.Send
End With
End Sub 

Für einen Empfänger funktioniert das wunderbar, ich weiß aber leider nicht, wie ich die o.g.  _
Versandbedingungen abbilde (bzw. ob obenstehender Code überhaupt der richtige Ansatz ist).
Ganz herzlichen Dank für einen Tipp.
Gruß
WolfgangK


		

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

Betreff
Datum
Anwender
Anzeige
AW: Excel Dateien an mehrere Empfänger versenden
01.03.2018 06:23:20
chao.soft
Hallo Wolfgang,
zuerst ein paar kleine Fragen:
1. Sind es immer die gleichen Dateien? Also bleibt der Name und der Pfad gleich?
2. Bleiben die Empfänger gleich oder sollen diese aus einer Liste geladen werden?
3. Bleibt die Anzahl und der Name der zu erhaltenden Daten gleich?
4. Gibt es eventuell eine Beispieldatei, mit (anonymisierten) Daten, auf welche man sich beziehen kann?
Mit ein paar mehr Infos sollte eine Lösung kein allzu großes Problem darstellen.
Beste Grüße
chaosoft
AW: Excel Dateien an mehrere Empfänger versenden
01.03.2018 10:05:21
WolfgangK
Hallo chaosoft,
zu Deinen Fragen:
1. Sind es immer die gleichen Dateien? Also bleibt der Name und der Pfad gleich? Ja
2. Bleiben die Empfänger gleich oder sollen diese aus einer Liste geladen werden? bleiben gleich
3. Bleibt die Anzahl und der Name der zu erhaltenden Daten gleich? Ja, immer gleich
4. Gibt es eventuell eine Beispieldatei, mit (anonymisierten) Daten, auf welche man sich beziehen kann?
leider nein
Wie die zweite Antwort auf meine Frage im Thread zeigt, kann man das sicher ganz schick lösen, mich erschlägt das aber gerade völlig. Am Ende des tages will ich's ja auch irgendwann mal verstehen, was ich da mache. Ganz generell würde mich daher als VBA Beginner auch mal ein Code interessieren, mit dem ich ohne Schleifen & Co. einfach nur hintereinander runterschreibe:
Nimm Datei 1 im Verzeichnis und sende sie an Empfänger A.
Dann nimm Datei 2 im Verzeichnis und sende sie an Empfänger B.
Dann nimm die Dateien 3,4 und 5 und sende sie an Empfänger C. usw.
Ich will ja bei dem ganzen auch was lernen und nicht nur copypasten und das war's, auch wenn es dem versierten VBA Crack dabei übel wird und an die Ehre geht :-)
Herzlichen Dank und Gruß
Wolfgang
Anzeige
AW: Excel Dateien an mehrere Empfänger versenden
01.03.2018 07:07:24
fcs
Hallo Wolfgang,
in einer For-Next-Schleife kann man die verschiedenen Kombinationen von Dateien und Empfängern festlegen und jeweils eine Mail erstellen/versenden.
Gruß
Franz
Sub Versand()
Dim objOutlook As Object
Dim objMail As Object
Dim arrAttach(1 To 11) As String
Dim sPfad As String
Dim varAttach As Variant, itemAttach As Variant
Dim strTo As String, varMail
Set objOutlook = CreateObject("Outlook.Application")
'Verzeichnis mit den Dateien - "\" am Ende nicht vergessen!
sPfad = "C:\Users\Public\NeuTest\DD12\"
'Namen der 11 Dateien der Arrayvariablen zuweisen
arrAttach(1) = sPfad & "dwf.xlsx"
arrAttach(2) = sPfad & "Datei 2.xlsx"
arrAttach(3) = sPfad & "Datei 3.xlsx"
arrAttach(4) = sPfad & "Datei 4.xlsx"
arrAttach(5) = sPfad & "Datei 5.xlsx"
arrAttach(6) = sPfad & "Datei 6.xlsx"
arrAttach(7) = sPfad & "Datei 7.xlsx"
arrAttach(8) = sPfad & "Datei 8.xlsx"
arrAttach(9) = sPfad & "Datei 9.xlsx"
arrAttach(10) = sPfad & "Datei 10.xlsx"
arrAttach(11) = sPfad & "Datei 11.xlsx"
For varMail = 1 To 5 '5 = Anzahl Varianten von Attachment-Kombinationen
'Für die Mail Empfänger und Attachments festlegen
Select Case varMail
Case 1 'Variante 1
strTo = "Nam1@Test.de"
varAttach = Array(2)
Case 2 'Variante 2
strTo = "VN2.Name2@Test.de;VN4.Name4@Test.de"
varAttach = Array(1, 3)
Case 3 'Variante 3
strTo = "VN3.Name3@Test.de;VN5.Name5@Test.de"
varAttach = Array(4, 5)
Case 4 'Variante 4
strTo = "VN12.Name12@Test.de;VN1.Name1@Test.de"
varAttach = Array(7, 9)
Case 5 'Variante 5 - alle Dateien versenden
strTo = "VN7.Name7@Test.de;VN8.Name8@Test.de"
varAttach = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
Case Else
If MsgBox("Für Variante """ & varMail & """ ist im Makro noch kein Case mit " _
& "Empänger und Attachments definiert.", _
vbDefaultButton2 + vbQuestion + vbOKCancel, _
"Makro: Versand") = vbCancel Then
GoTo Beenden
Else
GoTo nextMail
End If
End Select
If strTo  "" And IsArray(varAttach) Then
'Mailobject erstellen
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = strTo
.Subject = "Report"
.Body = "MfG Wolfgang"
For Each itemAttach In varAttach
.Attachments.Add arrAttach(itemAttach)
Next itemAttach
'            .Display 'zum Testen in Outlook anschauen - ggf manuell versenden
.Send 'Für Produktion direkt versenden
End With
strTo = ""
Erase varAttach
Set objMail = Nothing
Else
If MsgBox("case: " & varMail & vbLf & "Liste der Empfänger ist leer " _
& "oder es wurden keine Attachments festgelegt,", _
vbDefaultButton2 + vbQuestion + vbOKCancel, _
"Makro: Versand") = vbCancel Then
GoTo Beenden
Else
GoTo nextMail
End If
End If
nextMail:
Next varMail
Beenden:
End Sub

Anzeige
AW: Excel Dateien an mehrere Empfänger versenden
01.03.2018 10:08:29
WolfgangK
Hallo Franz,
vielen Dank, sehr beeindruckend,das probiere ich mal aus!
Hätte nicht gedacht, dass es so viele Anweisungen braucht, Wahnsinn...
Melde mich wenns geklappt hat!
Gruß
Wolfgang

139 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige