Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Webseite als PDF speichern

Begonnen von S0nic83, April 05, 2017, 12:02:01

⏪ vorheriges - nächstes ⏩

S0nic83

Hallo,
hier geht es zwar nicht um Access, aber um VBA. Ihr konntet mir das letzte mal so gut helfen, dass ich mir dachte ich versuch es einfach mal hier.

Ich bekomme täglich eine E-mail in Outlook mit Zustellbestätigungen. Aus dieser Email lass ich bisher den Trackingcode und die dazugehörige Referenz auslesen.
Anhand des Trackingcodes rufe ich den Zustellstatus in einem unsichtbaren Browserobjekt auf.

und jetzt müsste ich die aufgerufene Website als PDF speichern.

Mein erster Ansatz war den Quellcode abzurufen (funktionierte) und diesen in eine datei zu schreiben, Aber das führt zu einem Fehler. Es ist außerdem nicht die Lösung die ich letztendlichhaben möchte. Besser wäre ein PDF, oder ein sonstiges abbild.

Hier mal der Code:
Dim IEApp As Object, strInhalt
Dim Mail As Outlook.MailItem
Dim meldungen As Variant
Dim track As String
Dim ref As String
Dim zellen As Variant
Dim i As Integer
Dim strFile As String
Dim fs
Dim a
Dim pfad As String

Set Mail = Application.ActiveExplorer.Selection(1)
   
    'informatinen aus Mail sammeln
    meldungen = Split(Mail.HTMLBody, "color:#363636'><a href")
    i = 1
    track = Mid(meldungen(i), InStr(1, meldungen(i), "tracknum=") + 9, 18)
    zellen = Split(meldungen(i), "<p class=MsoNormal>")
    ref = Mid(zellen(5), InStr(1, zellen(5), "color:#363636'>") + 15, 11)
   
    'Referenz für dateipfad formatieren
    ref = Replace(ref, "/", "\")
   
   'Webseite aufrufen
    Set IEApp = CreateObject("InternetExplorer.Application")
    IEApp.Visible = False
    IEApp.Navigate ("http://wwwapps.ups.com/WebTracking/processInputRequest?sort_by=status&tracknums_displayed=1&TypeOfInquiryNumber=T&loc=de_DE&InquiryNumber1=" & track & "&track.x=0&track.y=0")
    'fehler: Hier muss gewartet werden.
    strInhalt = IEApp.Document.DocumentElement.outerHTML
    IEApp.Quit
    Set IEApp = Nothing
   
   'Dateipfad prüfen und korrekturmöglichkeit bieten
    If Left(ref, 3) <> "T20" Then
        If MsgBox("Referenz:" & ref & vbNewLine & "Fortfahren?", 4, "Ungültige Referenz") = vbYes Then GoTo weiter:
    End If
   
    strFile = "D:\speicherort\" & ref & "\"
   
    Set fs = CreateObject("Scripting.FileSystemObject")
check:
    If Not fs.folderexists(strFile) Then
        strFile = InputBox("Der Pfad wurde nicht gefunden, bitte korrigieren", "Falsche Referenz", strFile)
        GoTo check
    End If
    pfad = strFile & "zustellvermerk.html"
    Set a = fs.CreateTextFile(pfad, 1)
    'fehler strInhalt wird nicht in datei geschrieben
    a.Write vbNewLine & strInhalt
    a.Close
weiter:

Lachtaube

Ohne Angabe von zur Verfügung stehenden Hilfsmitteln fällt mir nur ein, die HTML-Datei in Word zu öffnen und Word danach zu beauftragen, eine PDF-Datei vom Dokument zu erstellen.
Grüße von der (⌒▽⌒)

S0nic83

hmm, nicht ganz das was ich mir vorgestellt hab. Aber Danke!