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
Top
#2
Hallo zusammen,



niemand eine Idee? :22:


Vielen Dank
VG
Alexandra
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é
Top
#4
Hallo Rene,


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


Vielen Dank!!
LG
Alexandra
Top


Gehe zu:


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