29.01.2021, 16:59
Hallo zusammen, habe folgendes Problem:
Eine Excel Liste mit DHL Express Tracking Nummern in Spalte L.
Nun möchte ich in Spalte N den Zustellstatus anzeigen lassen.
Ich habe das Ganze schon mit der Package Tracker API ausprobiert aber das funktioniert nur teilweise...
Ich habe ein Skript gefunden, zwar für den Zeitstempel der Zustellung aber ich denke für geübte Leute kein Problem das entsprechend umzuschreiben auf den LieferSTATUS:
Vielen Dank schonmal! :)
Eine Excel Liste mit DHL Express Tracking Nummern in Spalte L.
Nun möchte ich in Spalte N den Zustellstatus anzeigen lassen.
Ich habe das Ganze schon mit der Package Tracker API ausprobiert aber das funktioniert nur teilweise...
Ich habe ein Skript gefunden, zwar für den Zeitstempel der Zustellung aber ich denke für geübte Leute kein Problem das entsprechend umzuschreiben auf den LieferSTATUS:
Code:
Sub ZeitStempelDHL()
Const urlGrund As String = "https://www.dhl.de/de/privatkunden/pakete-empfangen/verfolgen.html?idc="
Dim urlSendungsNr As String
Dim url As String
Dim browser As Object
Dim knotenZeitStempel As Object
Dim zeitStempel As String
Dim letzteZeile As Long
Dim aktuelleZeile As Long
'Letzte Zeile in Spalte A in der Tabelle, aus der das Makro gestartet wird
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'Alle Sendungsnummern ab Zeile 1 Durchgehen
For aktuelleZeile = 1 To letzteZeile
'URL zusammensetzen
'Die Sendungsnummer kann für jeden Abruf in
'einer Schleife aus der Tabelle geholt werden
urlSendungsNr = ActiveSheet.Cells(aktuelleZeile, 1).Value
url = urlGrund & urlSendungsNr
'Internet Explorer initialisieren, Sichtbarkeit festlegen,
'URL aufrufen und warten bis Seite vollständig geladen wurde
Set browser = CreateObject("internetexplorer.application")
browser.Visible = False
browser.navigate url
Do Until browser.ReadyState = 4: DoEvents: Loop
'Manuelle Pause, damit die Seite komplett zur Verfügung steht
Application.Wait (Now + TimeSerial(0, 0, 2))
'HTML-Element mit Zeitstempel holen
Set knotenZeitStempel = browser.document.getElementsByClassName("mm_deliveryTime")(0)
If Not knotenZeitStempel Is Nothing Then
'Wenn das HTML-Element vorliegt
'Zeitstempel aus HTML-Element extrahieren
zeitStempel = Trim(knotenZeitStempel.innertext)
Else
zeitStempel = "Es wurde kein Zeitstempel gefunden"
End If
'Aufräumen
browser.Quit
Set browser = Nothing
Set knotenZeitStempel = Nothing
'Zeitstempel eintragen
ActiveSheet.Cells(aktuelleZeile, 2).Value = zeitStempel
Next aktuelleZeile
End Sub
Vielen Dank schonmal! :)