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

Datei prüfen, bevor Email versand.

Datei prüfen, bevor Email versand.
09.05.2022 14:45:42
Andreas
Hallo Zusammen,
ich durchforste nun schon einen ganzen Tag das Archiv, komme aber nicht wirklich weiter. Ich möchte ein Makro bauen, welches prüft ob eine bestimmte Datei an einem bestimmten Ort liegt. Sollte diese nicht dort liegen, dann bitte weiter. Wenn sie dort liegt, dann bitte eine Email (mit allen Infos) erstellen und zur Plausi-Prüfung auf dem Desktop lassen.
Hier schonmal was ich zusammen gebaut habe:
Public Sub Outlook_Deploy()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "Gerda@gerda.com, Micha@micha.com, Olli@olli.com"
.Subject = "Preisvorstellung -> Lieferant 1, Lieferant 2, Lieferant 3"
.Body = "Dear Supplier, bla bla bal."
.Display 'Erstellt die Email und öffnet diese. Der Versand erfolgt manuell!
If "Pfad001\Datei1.xlsx" = "" Then
.Attachments.Add "Pfad001\Datei1.xlsx"
End If
If "Pfad002\Datei2.xlsx" = "" Then
.Attachments.Add "Pfad002\Datei2.xlsx"
End If
If "Pfad003\Datei3.xlsx" = "" Then
.Attachments.Add "Pfad003\Datei3.xlsx"
End If
End With
In diesem Beispiel erstellt er erst und dann hängt er die Dateien dran. Wenn aber eine Datei nicht da ist, gibt es einen Fehler und es ist vorbei.
Das oben benannte Makro funktioniert also nicht. Soviel sei vorab gesagt.
Danke schon einmal im voraus für die Hilfe!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei prüfen, bevor Email versand.
09.05.2022 14:58:42
Nepumuk
Hallo Andreas,
so besser?

Public Sub Outlook_Deploy()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "Gerda@gerda.com, Micha@micha.com, Olli@olli.com"
.Subject = "Preisvorstellung -> Lieferant 1, Lieferant 2, Lieferant 3"
.Body = "Dear Supplier, bla bla bal."
If Dir$("Pfad001\Datei1.xlsx")  vbNullString Then .Attachments.Add "Pfad001\Datei1.xlsx"
If Dir$("Pfad002\Datei2.xlsx")  vbNullString Then .Attachments.Add "Pfad002\Datei2.xlsx"
If Dir$("Pfad003\Datei3.xlsx")  vbNullString Then .Attachments.Add "Pfad003\Datei3.xlsx"
.Display 'Erstellt die Email und öffnet diese. Der Versand erfolgt manuell!
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Gruß
Nepumuk
Anzeige
AW: Datei prüfen, bevor Email versand.
09.05.2022 15:00:43
Nepumuk
Oops,
man sollte vor dem posten prüfen. So:

.To = "Gerda@gerda.com; Micha@micha.com; Olli@olli.com"
Gruß
Nepumuk
AW: Datei prüfen, bevor Email versand.
09.05.2022 15:12:11
Andreas
Hallo Nepumuk,
den habe ich nicht verstanden...?!
lg
Andreas

"Oops,
man sollte vor dem posten prüfen. So:
.To = "Gerda@gerda.com; Micha@micha.com; Olli@olli.com"
Gruß
Nepumuk"

AW: Datei prüfen, bevor Email versand.
09.05.2022 15:17:29
Nepumuk
Hallo Andreas,
die Trennzeichen für mehrere Mailadressen ist das Semikolon.
Gruß
Nepumuk
AW: Datei prüfen, bevor Email versand.
09.05.2022 15:06:46
Andreas
Hallo Nepumuk,
vielen Dank für die schnelle Antwort! Das funktioniert auch wirklich gut und das Makro läuft sauber durch!
In meinem Fall hat die Email keine Datei im Anhang (war auch so geplant). Kannst Du mir auch noch sagen, wie ich die offene Email (.display) ohne Anhänge einfach wieder schließen kann?
Danke nochmal!
lg
Andreas
Anzeige
AW: Datei prüfen, bevor Email versand.
09.05.2022 15:14:04
Nepumuk
Hallo Andreas,
kein Problem:

Public Sub Outlook_Deploy()
Dim objOutlook As Object
Dim objMail As Object
If Dir$("Pfad001\Datei1.xlsx")  vbNullString And _
Dir$("Pfad002\Datei2.xlsx")  vbNullString And _
Dir$("Pfad003\Datei3.xlsx")  vbNullString Then
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "Gerda@gerda.com, Micha@micha.com, Olli@olli.com"
.Subject = "Preisvorstellung -> Lieferant 1, Lieferant 2, Lieferant 3"
.Body = "Dear Supplier, bla bla bal."
.Attachments.Add "Pfad001\Datei1.xlsx"
.Attachments.Add "Pfad002\Datei2.xlsx"
.Attachments.Add "Pfad003\Datei3.xlsx"
.Display 'Erstellt die Email und öffnet diese. Der Versand erfolgt manuell!
End With
Set objMail = Nothing
Set objOutlook = Nothing
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Datei prüfen, bevor Email versand.
10.05.2022 14:55:22
Andreas
Hi nochmal, :-)
ich habe den Code oben einmal ausprobiert und ich mag die Idee. Allerdings erstellt er nur die E-Mail, wenn alle drei Voraussetzungen (Dateien) vorhanden sind.
Ich hätte es gerne so, dass auch nur eine vorhandene Datei die E-Mail erstellt wird. Ich habe versucht anstatt "AND _" mit "OR _" zu arbeiten, aber das klappt auch nicht.
Vielleicht hast Du noch einen Tip?
lg,
Andreas
AW: Datei prüfen, bevor Email versand.
10.05.2022 15:03:05
Nepumuk
Hallo Andreas,
dann so:

Public Sub Outlook_Deploy()
Dim objOutlook As Object
Dim objMail As Object
If Dir$("Pfad001\Datei1.xlsx") & _
Dir$("Pfad002\Datei2.xlsx") & _
Dir$("Pfad003\Datei3.xlsx")  vbNullString Then
Set objOutlook = CreateObject(Class:="Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.To = "Gerda@gerda.com, Micha@micha.com, Olli@olli.com"
.Subject = "Preisvorstellung -> Lieferant 1, Lieferant 2, Lieferant 3"
.Body = "Dear Supplier, bla bla bal."
If Dir$("Pfad001\Datei1.xlsx")  vbNullString Then .Attachments.Add "Pfad001\Datei1.xlsx"
If Dir$("Pfad002\Datei2.xlsx")  vbNullString Then .Attachments.Add "Pfad002\Datei2.xlsx"
If Dir$("Pfad003\Datei3.xlsx")  vbNullString Then .Attachments.Add "Pfad003\Datei3.xlsx"
.Display 'Erstellt die Email und öffnet diese. Der Versand erfolgt manuell!
End With
Set objMail = Nothing
Set objOutlook = Nothing
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: Datei prüfen, bevor Email versand.
10.05.2022 15:12:59
Andreas
Super, vielen Dank! Es läuft schonmal wie gedacht!
Danke!
lg
Andreas

232 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige