Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

PDF per Mail mit Bestätigung!
#1
Hallo liebe Excelgemeinde,


mit folgenden Code verschicke ich aus Excel heraus, Blätter als PDF per Mail:

Code:
Private Sub PDFperMailSenden()
Wahl = MsgBox("Sendung avisieren?", vbYesNo)
If Wahl <> 6 Then Exit Sub
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
       "C:\Temp123\" & Range("A1").Text & " " & "KL" & Range("F24"), Quality:=xlQualityStandard, IncludeDocProperties _
       :=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
   Dim olApp As Object
   Set olApp = CreateObject("Outlook.Application")
   With olApp.CreateItem(0)
       .GetInspector
       .Recipients.Add Range("A14").Value
       .Subject = "Lieferavisierung" & " " & "KL" & Range("F24")
       .ReadReceiptRequested = True
       .Attachments.Add "c:\Temp123\" & Range("A1").Text & " " & "KL" & Range("F24") & ".PDF"
       If Range("G13") = "x" Then .Display
       If Range("G13") <> "x" Then .Send
       MsgBox ("Avis" & " " & "KL" & Range("F24") & " " & "wurde erfolgreich gesendet!")
   End With
   Set olApp = Nothing
   Sheets("Übersicht").Select
End Sub
Wenn in G13 kein x drin steht dann passiert das Ganze im Hintergrund! Wenn ein x drin steht dann sollte mir die Mail die verschickt werde soll angezeitgt werden!
Dies klappt auch zu 90% allerdings manchmal wird es zwar geöffnet aber irgendwo im Hintergrund und ich muss dann manuell drauf klicken! Wie kann ich das machen dass wenn ein x drin steht in G13 zu 100% mir das Mail angezeigt wird!?
Das war die erste Frage und die Zweite Frage:
Ich bekomme immer diese Msgbox ...erfolgreicht gesendet...!
Diese Meldung kommt aber auch wenn das Mail noch offen ist und noch nicht abgesendet wurde!
Wie kann ich das machen, dass diese Meldung nur dann kommt, wenn das Mail tatsächlich raus ist!?
Vielen Dank im Voraus
LG
Alexandra
Antworten Top
#2
Hallo zusammen,



niemand eine Idee? :22:


Vielen Dank
VG
Alexandra
Antworten Top
#3
Hallo!

Weshalb die Email manchmal angezeigt wird und manchmal nicht ist offen. Das lässt sich so einfach nicht beantworten.

Versuch es mal so:
Private Sub PDFperMailSenden()
 
 Dim olApp As Object
 
 If MsgBox("Sendung avisieren?", vbYesNo) = vbNo Then Exit Sub
 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                    Filename:="C:\Temp123\" & Range("A1").Text & _
                                               " " & "KL" & Range("F24"), _
                                    Quality:=xlQualityStandard, _
                                    IncludeDocProperties:=True, _
                                    IgnorePrintAreas:=False, _
                                    OpenAfterPublish:=False
                                    
    
    Set olApp = CreateObject("Outlook.Application")
        With olApp.CreateItem(0)
                  .GetInspector.Display
                  .Recipients.Add Range("A14").Value
                  .Subject = "Lieferavisierung" & " " & "KL" & Range("F24")
                  .ReadReceiptRequested = True
                  .Attachments.Add "C:\Temp123\" & _
                                   Range("A1").Text & _
                                   " " & "KL" & Range("F24") & ".PDF"
             If Range("G13") <> "x" Then
                  .Send
                  MsgBox ("Avis" & " " & "KL" & Range("F24") & _
                          " " & "wurde erfolgreich gesendet!")
             End If
        End With
        
        Sheets("Übersicht").Select
 End Sub


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Gruß, René
Antworten Top
#4
Hallo Rene,


prima, habe das jetzt ein paar mal getestet und es funktioniert, kein einziger Ausreißer! :) :15:


Vielen Dank!!
LG
Alexandra
Antworten Top


Gehe zu:


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