Anzeige
Archiv - Navigation
1004to1008
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

EMailversand

EMailversand
29.08.2008 09:29:37
Petra
Guten Morgen allerseits,
mit folgenden Makro versende ich EMails:

Sub Datei_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = ThisWorkbook.Path & "\" & "Text.TXT"
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "max.mustermann@web.de;eva.neu@gmx.de"
.Subject = "Testsendung Verkaufsdaten-Daten " & Date & " " & Time
.attachments.Add AWS
'        .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
.Body = "Das ist ein Test." & vbCrLf & ""
'Hier wird die Mail nochmals angezeigt
'        .Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub


Mein Problem: Outlook blendet nochmals eine Frage ein, ob wirklich gesendet werden soll. Klickt der Anwender auf NEIN, wird ein Fehler ausgelöst.
Wie kann ich das auf elegante Weise verhindern?
Liebe Grüße Petra

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: EMailversand
29.08.2008 09:39:59
chris
Das ist nicht möglich.
Das ist eine Sicherheitsmeldung von Outlook.
Das dein Excel keine fehlermeldung bringt wenn du auf Nein klickst das kannst du denke ich mit on
error resume next abfangen.
gruß Chris
ub Datei_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
on error resume next
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = ThisWorkbook.Path & "\" & "Text.TXT"
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "max.mustermann@web.de;eva.neu@gmx.de"
.Subject = "Testsendung Verkaufsdaten-Daten " & Date & " " & Time
.attachments.Add AWS
' .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
.Body = "Das ist ein Test." & vbCrLf & ""
'Hier wird die Mail nochmals angezeigt
' .Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
Anzeige
AW: EMailversand
29.08.2008 10:00:00
Petra
Hallo Chris
danke für Deine Antwort, on error resume next habe ich auch schon in Betracht gezogen, meine aber, das dies nicht die elegante Art ist.
Drum stelle ich nochmals auf offen. Vielleicht hat ja noch jemand einen guten Tipp.
Schönen Tag noch Petra
AW: EMailversand
29.08.2008 10:02:00
Tino
Hallo,
meinst du die Sicherheitsmeldung ob der Zugriff auf Outlook erlaubt werden soll?
Dafür habe ich dies im Einsatz.
http://www.mapilab.com/de/outlook/security/
Funktioniert super.
Gruß Tino
AW: EMailversand
29.08.2008 10:07:00
Petra
Hi Tino
Ja, ich meine die Sicherheitsmeldung. Nur ich wollte in meinem Makro das "Nein" drücken, elegant abfangen, so in der Art: Msgbox "Sie haben den Versand abgebrochen"
Das von Dir vorgeschlagene Tool kann, bzw. darf ich nicht einsetzen.
Schönen Tag noch Petra
Anzeige
AW: EMailversand
29.08.2008 10:20:00
chris
Einmal versuhe ich es noch.
Was hälst du davon ?
ub Datei_via_Outlook_Senden()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
on error goto neinclick
'Aktive Arbeitsmappe wird als Mail gesendet
AWS = ThisWorkbook.Path & "\" & "Text.TXT"
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "max.mustermann@web.de;eva.neu@gmx.de"
.Subject = "Testsendung Verkaufsdaten-Daten " & Date & " " & Time
.attachments.Add AWS
' .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
.Body = "Das ist ein Test." & vbCrLf & ""
'Hier wird die Mail nochmals angezeigt
' .Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
exit sub
neinclick:
msgbox("Nein wurde geklickt")
'Outlook schliessen
'OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
gruß Chris
Anzeige
AW: EMailversand
29.08.2008 10:23:00
Petra
Danke Chris
damit kann ich leben.
Schönen Tag noch
Grüße Petra
AW: EMailversand
29.08.2008 10:23:00
Tino
Hallo,
das was du möchtest geht nicht,
du kannst keine zwei Makros in einer Instanz zur gleichen Zeit laufen lassen.
Dazu müsstest du Extern etwas mitlaufen lassen, ein VB Programm oder sowas in der Art oder eine zweite unsichtbare Excelinstanz könnte auch funktionieren.
Dieses müsste auf das auftauchen der Sicherheitsabfrage warten und entsprechend darauf reagieren. (z. Bsp. mit SendKeys)
Ob dies aber reibungslos Funktioniert kann ich nicht sagen.
Gruß Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige