Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1560to1564
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
VBA mehrere Empfänger und Anhang
13.06.2017 13:39:15
Pellton
Hallo Zusammen
Ich habe folgenden Code zusammengebastelt. Das einzige kleine Problem dass ich noch habe ist dass ich einen zusätzlichen Empfänger ins CC setzen möchte. Oder wenigstens einen zusätzlichen Empfänger in die Empfängerzeile. Funzt leider nicht mit Semikollon oder Komma etc. Kann mir jemand helfen? Anbei der Code der so wie er ist funktioniert:
Private Sub CommandButton1_Click()
Sheets("Berechnung").Calculate
Sheets("Waste Management Check").Calculate
Dim ObjOutlook As Object
If Range("H51") = "ABC" Or Range("H51") = "ABCDE" Then
If MsgBox("Thanks for calculating. Like to send? ", vbYesNo) = vbYes Then
Empfaenger = "info@xyz.ch"
Titel = "calculated file from " & Range("H4").Value
Application.Dialogs(xlDialogSendMail).Show Empfaenger, Titel
End If
End If
End Sub
danke für eure Hilfe
Grüsse
Pellton

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA mehrere Empfänger und Anhang
13.06.2017 14:37:02
ede
Hallo Pellton,
versuch es mal so:
Dim Empfaenger() As Variant
ReDim Empfaenger(1 To 2)
Empfaenger(1) = "A@.."
Empfaenger(2) = "B@..."
Gruss
AW: VBA mehrere Empfänger und Anhang
13.06.2017 14:57:51
Matthias
Hallo! Hier (http://www.office-loesung.de/ftopic416165_0_0_asc.php) haben sie es so gelöst, dass sie die Adressen, wenn im Code schon bekannt, in einen String mit Semikolon getrennt geschrieben haben. Ansonsten sollte aber auch ein Verketten mit ; reichen. Falls das nicht klappt, poste bitte mal deinen Empfängerstring, wie er nicht ging. VG
AW: VBA mehrere Empfänger und Anhang
13.06.2017 15:53:24
Michael
Hallo!
Der Code, in der geposteten Form, macht so auch nicht wirklich Sinn.
Du deklarierst zwar ein Objekt für Outlook, was grds. dem Ziel entspricht, mit diesem Objekt eine neue Nachricht zu erzeugen, und dieser dann ggf. entsprechende Empfänger bzw. CC-Adressaten hinzuzufügen - nur nutzt Du nach der Deklaration dieses Objekt nie mehr.
Stattdessen nutzt Du eine Excel-interne Funktion (Dialog) um direkt eine neue Nachricht, mit der Mappe als Anlage, zu erzeugen. Dabei steht Dir aber die Angabe von .CC per Code nicht zur Verfügung; um mehrere Empfänger (An) zu übergeben musst Du, wie Matthias bereits erwähnt hat, diese zunächst in einem String sammeln. D.h.:
Private Sub CommandButton1_Click()
Dim MailEmpf As String
Dim Betreff As String
Sheets("Berechnung").Calculate
Sheets("Waste Management Check").Calculate
If Range("H51") = "ABC" Or Range("H51") = "ABCDE" Then
If MsgBox("Thanks for calculating. Like to send? ", vbYesNo) = _
vbYes Then
MailEmpf = "abc@xyz.org;info@xyz.ch" 'usw. ...
Betreff = "Calculated file from " & [H4].Value
Application.Dialogs(xlDialogSendMail).Show _
MailEmpf, Betreff
End If
End If
End Sub
Das Outlook-Objekt benötigst Du dann nicht. Solltest Du aber mit diesem arbeiten wollen, müsste der Code anders aussehen, dann stehen Dir auch mehr Möglichkeiten (zB die Angabe von CC-Empfängern) zur Verfügung:
Sub a()
Dim ObjOutlook As Object
Dim Betreff As String
Sheets("Berechnung").Calculate
Sheets("Waste Management Check").Calculate
If Range("H51") = "ABC" Or Range("H51") = "ABCDE" Then
If MsgBox("Thanks for calculating. Like to send? ", vbYesNo) = _
vbYes Then
Set ObjOutlook = CreateObject("Outlook.Application")
Betreff = "Calculated file from " & [H4].Value
With ObjOutlook.createitem(0)
.To = "abc@xyz.org;info@xyz.ch" 'usw.
.Cc = "mail@post.com" 'usw.
.Subject = ""
.Display
End With
End If
End If
End Sub
Auch hier würde sich aber das vorige Sammeln der jeweiligen Einträge (An, Cc, Betreff... ) in Variablen (oder ggf. Konstanten) anbieten.
LG
Michael
Anzeige
AW: Ergänzt...
13.06.2017 15:56:29
Michael
...im zweiten Code muss diese Zeile
.Subject = ""
natürlich so lauten
.Subject = Betreff
LG
Michael
AW: Ergänzt...
13.06.2017 18:04:16
Pellton
Hallo Zusammen
Vielen Dank für Eure schnellen Antworten.
Ich habe nun die 2te Variante von Michael ausprobiert da ich gewisse Empfänger im CC und nicht in der AN Zeile haben will.
Der Code funktioniert soweit dass das Mail sich öffnet und die Empfänger alle an der richtigen stelle stehen. Nur leider befindet sich das Excel-File nicht im Anhang.
Hat hier jemand eine Ergänzung zum 2ten Code von Michael oder evtl. Michael selbst?
Grüsse
Pellton
Anzeige
Das war auch nur schematisch gedacht...
14.06.2017 06:47:11
Michael
Pelton,
... daher war der Code noch nicht fertig.
Sitze erst am späten Vormittag am Rechner, dann ergänze ich Dir den Code.
Lg Michael
AW: Ergänzt...
14.06.2017 11:05:49
Michael
Hallo!
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim ObjOutlook As Object
Dim Betreff$, Pfad$, Dname$, Anhang$
Sheets("Berechnung").Calculate
Sheets("Waste Management Check").Calculate
If Range("H51") = "ABC" Or Range("H51") = "ABCDE" Then
If MsgBox("Thanks for calculating. Like to send? ", vbYesNo) = _
vbYes Then
Pfad = Wb.Path & "\"
Dname = Left(Wb.Name, InStr(1, Wb.Name, ".") - 1) & "_mail"
Anhang = Pfad & Dname & ".xlsm"
Wb.SaveCopyAs Anhang
Set ObjOutlook = CreateObject("Outlook.Application")
Betreff = "Calculated file from " & [H4].Value
With ObjOutlook.createitem(0)
.To = "abc@xyz.org;info@xyz.ch" 'usw.
.Cc = "mail@post.com" 'usw.
.Subject = Betreff
.Attachments.Add Anhang
.Display
End With
Kill Anhang
End If
End If
Set Wb = Nothing
Set ObjOutlook = Nothing
End Sub
LG
Michael
Anzeige
Rückmeldung? owT
15.06.2017 09:29:58
Michael
AW: Rückmeldung? owT
15.06.2017 09:50:02
Pellton
Hallo Michael
Herzlichen Dank für den Code. Leider hatte ich noch keine Zeit um Ihn zu testen. Bin momentan unterwegs.
Ich melde mich spätestens am Weekend wenn ich Ihn ausprobiert habe.
Grüsse
Pellton
AW: Rückmeldung? owT
18.06.2017 12:10:56
Pellton
Hallo Michael
Sensationell. Der Code funktioniert einwandfrei. Vielen Dank für die Hilfe.
Grüsse
Pellton
Freut mich, Danke für die Rückmeldung, owT
19.06.2017 10:48:30
Michael

158 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige