Rechnung per Mail versenden
#1
Hallo, habe ein kleines Problem beim tieferstehenden Makro - und zwar:

Das Makro soll als erstens die Datei öffnen damit die Rechnung nochmals kontrolliert werden kann - händisch die Datei schließen und dann das Mail versenden.

Das funktioniert einmal und einmal nicht.

Wenn es nicht funktioniert liegt der Mailversand über der Rechnungsdatei.

Finde den Fehler nicht - vielleicht kann jemand mir bitte helfen - Danke!

Lg Ubi5


Sub Mail()

ActiveSheet.Unprotect

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\Rechnung.pdf", OpenAfterPublish:=True

Dim Outlook As Object
Dim OutlookMailItem As Object
Dim MyAttachments As Object

Set OutlookApp = CreateObject("outlook.application")
Set OutlookMailItem = OutlookApp.CreateItem(0)
Set MyAttachments = OutlookMailItem.Attachments

With OutlookMailItem
.to = Range("C9")
.Subject = "Rechnung für" & " " & Range("A13") & " " & "RNr." & Range("A10") & "-2025"
.Body = "Die Rechnung ist als PDF beigelegt."
MyAttachments.Add "C:\Temp\Rechnung.pdf"
'.send
.Display
End With

Set OutlookApp = Nothing
Set OutlookMailItem = Nothing

ActiveSheet.Protect

End Sub
Antworten Top
#2
Hi,

ich habe es jetzt 10x versucht, macht genau das was es soll! ;)

LG, Alexandra
Antworten Top
#3
Bei mir leider nicht - könnte man eventuell es so steuert, dass zuerst die Datei öffnet und nach dem schließen den Mail-Versand?
Antworten Top
#4
Hi,

klar, nimm dem Teil des Codes raus, der nur die PDF erstellt und öffnet und erstelle einen eigenen Button dafür, dann wird deine Datei geöffnet du kannst Sie prüfen und anschließen drückst du auf Senden! :)

LG, Alexandra
Antworten Top
#5
Hallo Alexandra, danke für die Info - mir ist das schon klar, aber etwas umständlich.
Kann man das nicht irgendwie erzwingen, dass zuerst die Datei öffnet und danach nach Schließung der Datei der Mailversand öffnet?

Lg Ubi5
Antworten Top
#6
Hi,

dann versuche es mal so:

Code:
Sub Mail()

ActiveSheet.Unprotect

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\Rechnung.pdf", OpenAfterPublish:=True
If MsgBox("Rechnung in Ordnung?", vbYesNo) <> vbYes Then
Exit Sub
Else
End If
Dim Outlook As Object
Dim OutlookMailItem As Object
Dim MyAttachments As Object

Set OutlookApp = CreateObject("outlook.application")
Set OutlookMailItem = OutlookApp.CreateItem(0)
Set MyAttachments = OutlookMailItem.Attachments

With OutlookMailItem
.to = Range("C9")
.Subject = "Rechnung für" & " " & Range("A13") & " " & "RNr." & Range("A10") & "-2025"
.Body = "Die Rechnung ist als PDF beigelegt."
MyAttachments.Add "C:\Temp\Rechnung.pdf"
'.send
.Display
End With

Set OutlookApp = Nothing
Set OutlookMailItem = Nothing

ActiveSheet.Protect

End Sub

LG, Alexandra
Antworten Top
#7
Hallo Alexandra, muss mal dringend weg - probiere es später und melde mich wieder - Danke vorerst!

Lg Ubi5
Antworten Top
#8
Hallo Alexandra,

funktioniert einwandfrei - recht herzlichen Dank!

Lg Ubi5 Thumbsupsmileyanim Thumbsupsmileyanim Thumbsupsmileyanim
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste