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:
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.
hmm, nicht ganz das was ich mir vorgestellt hab. Aber Danke!