342 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich rufe per Button ein Makro auf wo ich meine Variablen bestimme, am Ende dieses Makro rufe ich dann das Makro auf welches mir meine Emails versendet und übergebe hier auch meine Variablen.

Das Makro welches mir die [xurl=https://supportnet.de/alles-uber-e-mail-ausfuhrlich-erklart-mit-schritt-fur-schritt-anleitungen-fur-die-meisten-anbieter1085/]Mails[/url] sendet über Outlook:

[code]'#########################################
'### über Outlook  senden gleichzeitig ###
'#########################################

Option Explicit
Sub Mail(ByVal User As String, ByVal Absender As String, ByVal Empfänger_1 As String, ByVal Empfänger_2 As String, ByVal Empfänger_3 As String, ByVal Empfänger_4 As String, ByVal Empfänger_5 As String, ByVal Empfänger_6 As String, ByVal Empfänger_CC_1 As String, ByVal Empfänger_CC_2 As String, ByVal Empfänger_CC_3 As String, ByVal Empfänger_CC_4 As String, ByVal Empfänger_CC_5 As String, ByVal Empfänger_CC_6 As String, ByVal Betreff_1 As String, ByVal Betreff_2 As String, ByVal Betreff_3 As String, ByVal Betreff_4 As String, ByVal Betreff_5 As String, ByVal Betreff_6 As String, ByVal D_Bezug_1 As String, ByVal D_Bezug_2 As String, ByVal D_Bezug_3 As String, ByVal D_Bezug_4 As String, ByVal D_Bezug_5 As String, ByVal D_Bezug_6 As String, ByVal D_Bezug_7 As String, ByVal D_Bezug_8 As String, ByVal D_Bezug_9 As String, ByVal D_Bezug_10 As String, ByVal T_Datum As Date, ByVal L_Datum As Date)

'E-Mail Variablen setzen

Dim objOutlook As Object
Dim objMail1 As Object
Dim objMail2 As Object
Dim objMail3 As Object
Dim objMail4 As Object
Dim objMail5 As Object
Dim objMail6 As Object
Dim EmailText As String


EmailText = MsgBox("Ist es eine Korrektur? Das ganze wird im Betreff angezeigt also Vorsicht.", vbQuestion + vbYesNo, "Korrektur?")
If EmailText <> vbYes Then
    EmailText = ""
Else
   EmailText = " Korrektur"
End If

Set objOutlook = CreateObject("Outlook.Application")
Set objMail1 = objOutlook.createitem(0)
Set objMail2 = objOutlook.createitem(0)
Set objMail3 = objOutlook.createitem(0)
Set objMail4 = objOutlook.createitem(0)
Set objMail5 = objOutlook.createitem(0)
Set objMail6 = objOutlook.createitem(0)

With objMail1
    .to = Empfänger_1
    .CC = Empfänger_CC_1
    .Subject = Betreff_1 & L_Datum & EmailText
    .attachments.Add D_Bezug_1
    .attachments.Add D_Bezug_2
    .htmlbody = "Hallo zusammen"
    .Display
End With
With objMail2
    .to = Empfänger_2
    .CC = Empfänger_CC_2
    .Subject = Betreff_2 & L_Datum & EmailText
    .attachments.Add D_Bezug_3
    .attachments.Add D_Bezug_4
    .htmlbody = "Hallo zusammen"
    .Display
End With
With objMail3
    .to = Empfänger_3
    .CC = Empfänger_CC_3
    .Subject = Betreff_3 & L_Datum & EmailText
    .attachments.Add D_Bezug_5
    .htmlbody = "Hallo zusammen"
    .Display
End With
With objMail4
    .to = Empfänger_4
    .CC = Empfänger_CC_4
    .Subject = Betreff_4 & L_Datum & EmailText
    .attachments.Add D_Bezug_6
    .attachments.Add D_Bezug_7
    .htmlbody = "Hallo zusammen"
    .Display
End With
With objMail5
    .to = Empfänger_5
    .CC = Empfänger_CC_5
    .Subject = Betreff_5 & L_Datum & EmailText
    .attachments.Add D_Bezug_8
    .attachments.Add D_Bezug_9
    .htmlbody = "Hallo zusammen"
    .Display
End With
With objMail6
    .to = Empfänger_6
    .CC = Empfänger_CC_6
    .Subject = Betreff_6 & L_Datum & EmailText
    .attachments.Add D_Bezug_10
    .htmlbody = "Hallo zusammen"
    .Display
End With
End Sub[/code]

Hier werden dann also 6 Mails gleichzeitig versendet hier erstmal nur .Display zum testen aber das senden funktioniert astrein.

Jetzt möchte ich aber gerne jede [xurl=https://supportnet.de/alles-uber-e-mail-ausfuhrlich-erklart-mit-schritt-fur-schritt-anleitungen-fur-die-meisten-anbieter1085/]Mail[/url] auch einzeln versenden können aber ohne das ich das Makro 6 mal duplizieren muss. Ich möchte also auch jede Mail einzeln anwählen können.

z.B.

[code]Private Sub CommandButton1_Click()
Call objMail1
End Sub[/code]

[code]Private Sub CommandButton2_Click()
Call objMail2
End Sub[/code]

usw.

Kann mir hier jemand weiterhelfen?


Mit freundlichen Grüßen
enerun222

1 Antwort

0 Punkte
Beantwortet von
Hab was vergessen,

bevor die 6 Mails versendet werden kommt ja eine Abfrage ob Korrektur oder nicht. Bis dahin sollte das Makro immer laufen und dann eben zu objMail1, objMail2 springen.

Mit freundlichen Grüßen
enerun222
...