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.

Sendungsstatus GLS in Excel /Google Tabellen abfragen
#1
Hallo zusammen,

ich habe ein Excel-Dokument erstellt in dem durch Eingabe einer Sendungsnummer im Feld daneben ein Link generiert wird (VERKETTEN)
Durch einen Klick auf diesen Link öffnet sich die Sendungsverfolgung von GLS und ich kann den Status sehen.

Nun würde ich aber gerne den Status (z.B. "Zugestellt") im Feld neben dem Link einsehen können ohne den Link öffnen zu müssen.
Ist das möglich?

Mit meinem Latein bin ich hier am Ende. Ich kenne nur die Funktionen über Daten - Aus dem Web.

Das Ganze soll in Google-Tabellen verfügbar sein. Hier gibt es ja auch die Funktionen ImportXML bzw. ImportHTML. Vielleicht kann man damit etwas basteln?

Ich habe mal die Datei angehangen.

Über jegliche Hilfe würde ich mich wirklich riesig freuen.

VG
twoke


.xlsx   GLS Sendungsstatus.xlsx (Größe: 176,81 KB / Downloads: 9)
Antworten Top
#2
Hallöchen,

wenn es um Excel gehen würde, dann könnte man das sicher mit PowerQuery lösen.

Da aber Google-Tabellen erwünscht sind, muss ich passen Sad

PS: Könnte sein, dass daher wir den Thread später zu den Alternativprogrammen schieben.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo,

dankeschön schonmal.

Eine Lösung für Excel würde mir hilfsweise auch erstmal helfen.

Gruß
Antworten Top
#4
Hallöchen,

ich habe erst mal die Seite analysiert und einen Code geschrieben, mit dem man den Zustellstatus auslesen kann, der im oberen Teil bei den Bildern angezeigt wird.

Code:
Option Explicit
Sub test()
'Variablendeklarationen
Dim objIE As Object
Dim strHTML As String
Const strSearch As String = "progress_title"
Dim SplitArray As Variant
Dim iCnt As Integer, iRow As Integer
'IE aufrufen
Set objIE = CreateObject("InternetExplorer.Application")
'IE unsichtbar verwenden und Seite aufrufen
'Hinweis: spaeter fuer Navigate die RefNo aus dem Blatt auslesen !
With objIE
  .AddressBar = False
  .StatusBar = False
  .MenuBar = False
  .Toolbar = 0
  .Visible = False
  .Navigate "http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DE03/DE/5004.htm?txtRefNo=12345678910&txtAction=71000"
End With
'Werten, bis Seite geladen ist
While objIE.Busy
Wend
While objIE.Document.ReadyState <> "complete"
Wend
'komplette Seite einlesen
strHTML = objIE.Document.body.innerHTML
'Bei SPAN in Array zerlegen
SplitArray = Split(strHTML, "<span ")
'Schleife ueber alle Zeilen
Do
  'Wenn der suchstring enthalten ist, dann
  If InStr(1, SplitArray(iCnt), strSearch) > 1 Then
    'Zeilenzaehle rhochsetzen - zum Test, sollte nur 1x enthalten sein!
    iRow = iRow + 1
    'Status uebernehmen und in Blatt eintragen
    ActiveSheet.Cells(iRow, 2).Value = Split(Split(Split(SplitArray(iCnt), "progress_title")(1), ">")(1), "<")(0)
  'Ende Wenn der suchstring enthalten ist, dann
  End If
  'Schleifenzaehler hochsetzen
  iCnt = iCnt + 1
'Ende Schleife ueber alle Zeilen
Loop Until (iCnt = (UBound(SplitArray) + 1))
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Puhh..vielen Dank erstmal!

Was muss ich mit dem Code denn genau machen?
Und was ist, wenn kein Inet-Explorer verwendet wird?

Bin totaler Laie Smile
Antworten Top
#6
Hallöchen,

den Code kopierst Du und fügst ihn in ein Code-Modul ein.
Zum Code-Modul kommst Du mit der Tastenkombi ALT+F11 und im sich öffnenden Fenster Gehst Du zu Menü | Einfügen | Modul
Dort kopierst Du den Code rein.
Starten kannst Du den Code entweder manuell - dazu gehst Du mit dem Cursor irgendwo in den Code - oder Du fügst Dir auf dem Blatt irgendein Objekt ein und weist dem ein Makro zu.

Der Code schreibt Dir in B1 dann für Dein Beispiel "Zugestellt".

Ich gehe hier erst mal davon aus, dass der jeweilige Fortschritt im HTML der Seite anhand des "progress_title" erkennbar ist. Sieht jedenfalls so aus. Bei den anderen Stepps fehlt der title.

Ohne IE muss ich erst mal schauen Sad ...

Noch was zur Codeanpassung, ich hatte ja schon darauf hingewiesen.

diese Zeile

.Navigate "http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DE03/DE/5004.htm?txtRefNo=12345678910&txtAction=71000"

wird zu

.Navigate "http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DE03/DE/5004.htm?txtRefNo=" & Cells(1,1).Value & "&txtAction=71000"

... wenn die Sendungsnummer in A1 steht.

Man kann ein Makro übrigens auch auf eine Änderung des Zellinhaltes reagieren lassen, z.B. dass es immer ausgeführt wird, wenn Du in A1 eine neue ID eingibst.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
(07.09.2017, 17:45)schauan schrieb: Ohne IE muss ich erst mal schauen Sad ...
Moin!
Mein Windows 10 hat sowohl den IE als auch den Edge, obwohl ich Chrome verwende.  :21:
ME ist es nicht möglich, Win 10 ohne diese zu installieren, da sie fester Bestandteil des Betriebssystems sind.
Die (pflichtgemäße) Nachfrage nach dem Standardbrowser hat damit ja nix zu tun.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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