Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ort zu Ort Entfernungen

Ort zu Ort Entfernungen
WalterK
Hallo,
der folgende Code sollte die Strassenkilometer aus Google Maps lesen und in meine Kreuztabelle eintragen. Und er hat vor einigen Wochen noch funktioniert. Jetzt plötzlich nicht mehr.
Kann mir jemand sagen, wo der Fehler sein könnte?
Hier der Code und die Tabelle:
Sub Entfernung_google()
'es werden immer nur die leeren Zellen abgefragt
Dim IEApp As Object
Dim IEDocument As Object
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = False
For i = 2 To Tabelle1.UsedRange.Columns.Count
If Tabelle1.Cells(1, i).Value = "" Then Exit For
For j = 2 To Tabelle1.UsedRange.Rows.Count
If Tabelle1.Cells(j, 1).Value = "" Then Exit For
If Tabelle1.Cells(j, i).Value = "" Then
If Tabelle1.Cells(1, i).Value  Tabelle1.Cells(j, 1).Value Then
IEApp.Navigate "http://maps.google.de/maps?saddr=" & Tabelle1.Cells(1, i).Value & _
"&daddr=" & Tabelle1.Cells(j, 1).Value & "&output=html"
Application.StatusBar = "Start-> " & Tabelle1.Cells(1, i).Value & _
" Ziel-> " & Tabelle1.Cells(j, 1).Value
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.Document
Do: Loop Until IEDocument.ReadyState = "complete"
Set result = IEDocument.getElementById("dditd")
If Not result Is Nothing Then
teile = Split(result.innerText, "–")
Tabelle1.Cells(j, i).Value = Replace(teile(0), "km", "")
End If
Set IEDocument = Nothing
End If
End If
Next
Next
IEApp.Quit
Set IEApp = Nothing
Application.StatusBar = False
MsgBox "Fertig"
End Sub
https://www.herber.de/bbs/user/75282.xls
Danke für die Hilfe und Servus, Walter

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Ort zu Ort Entfernungen
13.06.2011 12:15:47
ransi
HAllo Walter
Keine Ahnung was da klemmt.
Es scheint so das getElementById("dditd") ins Leere geht...
Reicht dir das als Hilfestellung ?
Set result = IEDocument.getElementById("altroute_0")
MsgBox result.innertext

ransi
AW: Ort zu Ort Entfernungen
13.06.2011 16:22:00
WalterK
Hallo ransi,
Danke für die Hilfe, aber mit meinen VBA-Kenntnissen kann ich damit leider nichts anfangen.
Ich habe den Code in einem Forum so erhalten, weiteres kann ich dazu nicht sagen.
Vielleicht weiß ja noch jemand, ob man den Code noch zum Laufen bringen kann.
Servus, Walter
AW: Ort zu Ort Entfernungen
13.06.2011 17:12:03
ransi
HAllo Walter
Versuch mal so:
Option Explicit

Sub Entfernung()
    'es werden immer nur die leeren Zellen abgefragt
    Dim IEApp As Object
    Dim IEDocument As Object
    Dim result As Object
    Dim Teile As Variant
    Dim I As Integer, J As Long
    Set IEApp = CreateObject("InternetExplorer.Application")
    IEApp.Visible = False
    For I = 2 To Tabelle1.UsedRange.Columns.Count
        If Tabelle1.Cells(1, I).Value = "" Then Exit For
        For J = 2 To Tabelle1.UsedRange.Rows.Count
            If Tabelle1.Cells(J, 1).Value = "" Then Exit For
            If Tabelle1.Cells(J, I).Value = "" Then
                If Tabelle1.Cells(1, I).Value <> Tabelle1.Cells(J, 1).Value Then
                    IEApp.Navigate "http://maps.google.de/maps?saddr=" & Tabelle1.Cells(1, I).Value & _
                        "&daddr=" & Tabelle1.Cells(J, 1).Value & "&output=html"
                    Application.StatusBar = "Start-> " & Tabelle1.Cells(1, I).Value & _
                        " Ziel-> " & Tabelle1.Cells(J, 1).Value
                    Do
                        Do
                        Loop Until IEApp.readystate = 4
                    Loop Until IEApp.readystate = 4
                    Set IEDocument = IEApp.Document
                    Set result = IEDocument.getElementById("altroute_0")
                    
                    If Not result Is Nothing Then
                        Teile = Split(result.innertext, Chr(10))
                        Tabelle1.Cells(J, I).Value = Teile(UBound(Teile))
                        Erase Teile
                        Set result = Nothing
                    End If
                    
                    Set IEDocument = Nothing
                End If
            End If
        Next
    Next
    IEApp.Quit
    Set IEApp = Nothing
    Application.StatusBar = False
    MsgBox "Fertig"
End Sub



ransi
Anzeige
@ransi...
13.06.2011 17:22:59
robert
Hallo ransi,
ich habe mir erlaubt, Dein Makro auszuprobieren ;-)
Aber-warum kommt nicht die gleich KM-Zahl raus?
Wien- Wr.Neustadt ist einmal 66 Km
Wr.Neustadt- Wien ist 61,7 Km
warum?
Gruß
robert
AW: @ransi...
13.06.2011 17:44:32
ransi
HAllo Robert
Aber-warum kommt nicht die gleich KM-Zahl raus?
Gute Frage, nächste Frage!
Wenn ich mir die Routen anschaue unterscheiden sie sich.
Keine Ahnung was die Jungs von Goggle da rechnen. ;-)
ransi
Danke,aber komisch-oder? owT
13.06.2011 18:00:48
robert
AW: Erklaerung
13.06.2011 18:19:29
hary
Hallo Robert
Hin:
Wr.Neustadt- Wien ist 61,7 Km
dann 'nen kleinen Schoppen getrunken und zurueck:
Wien- Wr.Neustadt ist einmal 66 Km
Bei mir ist der Nachhauseweg sogar doppelt so lang ;-))))
Schoenes Restfest
gruss hary
Anzeige
AW: Erklaerung verstanden...
13.06.2011 18:30:15
robert
Hi hary,
die ! Erklärung verstehe ich ;-))
Aber bei mir-seit 7 Jahren kein Tropfen Gift( Alkohol) !!!
Gruß
robert
OT was ist....
13.06.2011 18:41:18
hary
Hallo Robert
... aus Deinen wandernden Buchstaben geworden?
gruss hary
OT was ist....
13.06.2011 18:41:35
hary
Hallo Robert
... aus Deinen wandernden Buchstaben geworden?
gruss hary
AW: OT was ist....
13.06.2011 18:53:32
robert
Hallo hary,
meine Versuche waren nicht sehr erfolgreich,
so wie Matthias L. hab ichs nicht geschafft,
daher-bewegte Schrift-wandernde Buchstaben
in Papierkorb :-).... geht auch ohne...
Gruß
robert
Danke ransi, es funktioniert wieder. Servus, Walte
13.06.2011 20:23:29
WalterK
AW: Danke ransi, es funktioniert wieder. Servus, Walte
14.06.2011 16:56:01
Walter
Hallo WalterK,
Kannst Du bitte einmal die Kreuztabelle hochladen?
Danke
Walter
Anzeige
Hallo Walter, ...
14.06.2011 17:13:24
WalterK
... schöner Name.
Die Tabelle habe ich beim Eröffnungsbeitrag mit hochgeladen.
Servus, Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige