Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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 VBA Email - wenn kein Anhang, dann..

Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 09:31:27
Hauser
Guten Morgen allerseits,
ich habe eine Excel-Datei, aus welcher per Button in Outlook eine Email mit Inhalten dieser Datei erstellt wird.
Dim OutApp As Object, Mail As Object, i
Dim Nachricht
If ActiveWorkbook.ActiveSheet.Range("G6") = "Bestätigt" Then
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "" & Range("M8") & ""
.CC = "Max Mustermann"
.Subject = "Bestellnummer" & Range("D6") & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Sowohl "An" als auch "CC" und "Betreff" füllen sich automatisch, der Text der Email ist abhängig vom Inhalt der Range G6 ("In Bearbeitung" oder "Bestätigt") und wird mit Application.SendKeys eingegeben. So weit so gut.
Alle Emails, die mit dem Status "Bestätigt" rausgehen, erhalten auch immer einen Anhang (eine bestimmte PDF-Datei).
Kann ich eine Warnmeldung einbauen, falls jemand versucht diese Email ohne einen Anhang zu versenden? Ich könnte natürlich eine Msgbox erscheinen lassen, die den Nutzer daran erinnert ("Denk an den Anhang!"), aber gibt es auch eine Möglichkeit, dies in Abhängigkeit zum Anhang zu setzen?
Gruß
Hauser

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 09:38:02
Michael
Hallo Hauser!
Würde ich in Outlook (über Outlook-VBA) prüfen. Wie das umzusetzen ist, kann ich nicht exakt sagen, da ich in Outlook-VBA de facto keine Kenntnisse habe. Ich kann Dir nur u.a. Makro für Outlook anbieten, dass ich mir mal zusammengebastelt habe, um beim Senden von Nachrichten zu warnen, wenn keine Anlagen hinzugefügt sind - hierbei wird nach entsprechenden Schlüsselwörtern im Text gesucht. Sowas könnte für Dich evtl. auch funktionieren.
Muss in "ThisOutlookSession"
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
' Checkt ob Anlagen vorhanden sind (für Outlook 2010)
Dim Warnung As Variant
If InStr(1, Item.Body, "Beilage", vbTextCompare) > 0 _
Or InStr(1, Item.Body, "beiliegend", vbTextCompare) > 0 _
Or InStr(1, Item.Body, "Anlage", vbTextCompare) > 0 _
Or InStr(1, Item.Body, "Anhang", vbTextCompare) > 0 _
Or InStr(1, Item.Body, "angefügt", vbTextCompare) > 0 _
Or InStr(1, Item.Body, "anbei", vbTextCompare) > 0 _
Or InStr(1, Item.Body, "beigefügt", vbTextCompare) > 0 Then
If Item.Attachments.Count = 0 Then
Warnung = MsgBox("Es wurden keine Anlagen hinzugefügt, trotzdem senden?", _
vbYesNo, "Fehlende E-Mail Anlagen?")
If Warnung = vbNo Then Cancel = True
End If
End If
End Sub
LG
Michael

Anzeige
AW: Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 10:33:37
Nepumuk
Hallo,
wenn du einen Verweis auf die Library setzt, kannst du das auch in Excel selbst überwachen und musst nicht noch zusätzlich etwas in Outlook programmieren. Ich würde aber eher dazu tendieren den Anhang automatisch hinzuzufügen. Leider geht aus dem Codefragment nicht hervor was anschließend noch passiert, sprich wo der Status wie eingetragen wird.
Gruß
Nepumuk

AW: Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 11:38:44
Hauser
Hallo,
vielen Dank für die beiden Lösungsvorschläge.
Leider sind beide keine Option für mich. Ein Outlook-Makro (wusste gar nicht dass es das gibt, sehr cool) ist nicht möglich, da nicht nur ich alleine mit der Excel-Datei arbeite.
Ein Verweis auf die Library geht leider auch nicht, da Speicherort und Name der anzuhängenden PDF-Datei stark variieren.
Trotzdem vielen Dank und beste Grüße
Hauser

Anzeige
AW: Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 12:06:41
Nepumuk
Hallo,
ein Verweis auf die Library bedeutet einen Verweis auf Outlook. Und der sollte innerhalb einer Firma kein Problem darstellen weil alle mit der selben Office-Version arbeiten. Oder?
Dann bleibt immer noch die Frage wo sich der Status befindet. Im Betreff in Body .... ?
Gruß
Nepumuk

AW: Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 12:32:37
Hauser
Hi Nepumuk,
in der Email selbst steht der Status nicht als String, weder im Betreff noch im Text.
Stattdessen wird ein Tabellenbereich kopiert und als Image in die Email eingefügt. In diesem steht dann Besteller, Kosten, Status usw.
In der Excel-Datei steht der Status wie erwähnt in der Range G6.
Ich hoffe das hilft dir weiter.
Gruß
Hauser

Anzeige
AW: Excel VBA Email - wenn kein Anhang, dann..
19.05.2015 13:41:02
Nepumuk
Hallo,
hier mal ein Beispiel: https://www.herber.de/bbs/user/97717.xlsm
Wenn du den Code in deine Mappe übernehmen willst, musst du im VBA-Editor unter Extras - Verweise ein Häkchen bei "Microsoft Outlook 14.0 Object Library" setzen. In der Prozedur in der du die Mail erstellst musst du am Ende die Prozedur "InitClass" starten.
Gruß
Nepumuk

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige