Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA code für Webseiteninfo auslesen

Forumthread: VBA code für Webseiteninfo auslesen

VBA code für Webseiteninfo auslesen
06.03.2022 18:03:25
Lisa
Hallo Leute,
ich suche einen VBA code zum Auslesen von der GoolgeMaps Webseite, der folgendes macht:
In Zelle A1 steht eine Webadresse einer Route für GoolgeMaps.
z.B.:
www.google.com/maps/dir/Landsberger+Allee+364,+10365+Berlin/Sch%C3%B6nhauser+Allee+180,+10119+Berlin/Frankfurter+Chaussee+51,+15370+Fredersdorf-Vogelsdorf
Der VBA-Code soll den Internet Explorer, Chrome oder Firefox (was einfacher ist) öffnen
und den in A1 angegebenen Routelink in die Adresszeile einfügen und öffnen.
Wenn die Seite vollständig aufgebaut ist, dann gibt GoolgeMaps ja unteranderem auch die Gesamtkilometerangabe der Route auf dem linken Info-Teil der Webseite an.
In diesem Beispiel wären es 32,5 km
Nun soll diese KM Angabe aus dem Webseitenquelltext herausgenommen werden und in Zelle A2 eingetragen werden
Kann mir da einer von euch helfen?
Liebe Grüße Lisa
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA code für Webseiteninfo auslesen
07.03.2022 08:40:17
ChrisL
Hi Lisa
Das geht so nicht.
Man bräuchte einen API-Key:
https://developers.google.com/maps/documentation/distance-matrix
https://developers.google.com/maps/billing-and-pricing/pricing#distance-matrix
Das Modell und die Parameter müsste man genau studieren. Beispielsweise wird je nach Abfahrtszeit/Verkehrslage eine andere Route angeboten.
Vielleicht findest du im Netz alternative Services.
cu
Chris
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA für das Auslesen von Webseiteninformationen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (deine Arbeitsmappe)" > Einfügen > Modul.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub AuslesenGoogleMaps()
       Dim IE As Object
       Dim URL As String
       Dim km As String
    
       ' URL aus Zelle A1 lesen
       URL = Range("A1").Value
    
       ' Internet Explorer öffnen
       Set IE = CreateObject("InternetExplorer.Application")
       IE.Visible = True
       IE.navigate URL
    
       ' Warten bis die Seite vollständig geladen ist
       Do While IE.Busy Or IE.readyState <> 4
           DoEvents
       Loop
    
       ' KM Angabe aus dem Quelltext auslesen
       km = IE.document.getElementsByClassName("section-distance")(0).innerText
    
       ' KM in Zelle A2 eintragen
       Range("A2").Value = km
    
       ' Internet Explorer schließen
       IE.Quit
       Set IE = Nothing
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Gib die gewünschte Google Maps URL in Zelle A1 ein.

  6. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle AuslesenGoogleMaps und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Element nicht gefunden": Stelle sicher, dass die Klasse section-distance tatsächlich auf der Google Maps-Seite vorhanden ist. Die Struktur der Webseite kann sich ändern, was dazu führen kann, dass der Quellcode nicht mehr wie erwartet funktioniert.

  • Fehler: Internet Explorer startet nicht: Überprüfe, ob Internet Explorer auf deinem Computer installiert ist. Alternativ kannst du versuchen, einen anderen Browser wie Chrome oder Firefox zu verwenden, indem du die entsprechende API verwendest.


Alternative Methoden

Falls du keine VBA-Lösung nutzen möchtest, kannst du auch die Google Maps API verwenden, um Entfernungen programmgesteuert zu ermitteln. Hierzu benötigst du einen API-Key:

  1. Gehe zur Google Maps API-Dokumentation.
  2. Registriere deinen API-Key.
  3. Nutze die API, um Entfernungen direkt in deiner Excel-Datei zu berechnen, ohne eine Webseite auszulesen.

Praktische Beispiele

Wenn du die oben genannte Methode anwendest, kannst du verschiedene Routen ausprobieren, indem du unterschiedliche URLs in Zelle A1 einfügst. Zum Beispiel:

  • www.google.com/maps/dir/Berlin/München
  • www.google.com/maps/dir/Hamburg/Frankfurt

Diese URLs geben dir jeweils die Distanz zwischen den angegebenen Städten in Zelle A2 zurück.


Tipps für Profis

  • Verwende Debugging: Wenn dein VBA-Code nicht wie gewünscht funktioniert, füge Debug.Print-Anweisungen hinzu, um den Inhalt von Variablen zu überprüfen.

  • Optimiere den Code: Du kannst den Code weiter anpassen, um zusätzliche Informationen wie die geschätzte Fahrzeit oder die beste Route zu extrahieren, indem du die entsprechenden Elemente im Quellcode ausliest.


FAQ: Häufige Fragen

1. Frage
Kann ich auch andere Browser als Internet Explorer verwenden?
Antwort
Ja, du kannst auch Chrome oder Firefox verwenden, aber dafür benötigst du andere Methoden oder Bibliotheken, um diese Browser über VBA zu steuern.

2. Frage
Ist VBA auch für andere Webseiten geeignet?
Antwort
Ja, du kannst VBA verwenden, um Daten von verschiedenen Webseiten auszulesen, solange du die richtigen Identifikatoren für die HTML-Elemente kennst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige