VBA für das Auslesen von Webseiteninformationen
Schritt-für-Schritt-Anleitung
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (deine Arbeitsmappe)" > Einfügen > Modul.
-
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
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Gib die gewünschte Google Maps URL in Zelle A1 ein.
-
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:
- Gehe zur Google Maps API-Dokumentation.
- Registriere deinen API-Key.
- 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.