Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1200to1204
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

Script zur Berechnung von Entfernungskilometern II

Script zur Berechnung von Entfernungskilometern II
Entfernungskilometern
Hallo zusammen!
Ich bin wie der Titel schon sagt auf der Suche nach einem Skript für die Berechnung von Entfernungskilometern.
Nach einiger Suche bin ich auf ein Skript von einem User hier gestossen, das eigentlich perfekt für mich wäre:

Die Datei https://www.herber.de/bbs/user/53976.xls wurde aus Datenschutzgründen gelöscht

Das Problem ist:
Wenn ich das Skript ausführe werden die Entfernungen nicht angezeigt. Bei jeder Konstellation kommt nur die Angabe "unbekannt".
Habe mir auch den Code schon angeschaut, aber auf Grund meiner quasi nicht vorhandenen VBA-Kenntnisse keine Ahnung wo der Fehler liegen kann.
Ich würde mich sehr freuen, wenn sich das einer von euch hier angucken und mir helfen könnte.
Vielen Dank im Voraus
Tobi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Script zur Berechnung von Entfernungskilometern II
27.02.2011 01:33:39
Entfernungskilometern
Hallo, Tobi!
Es ist nicht immer das Beste, in einem Programm eines anderen hineinzuschreiben.
Bei Deinem vorgestellten Fall kommt wohl noch dazu, dass sich der HTML-Quelltext in der heutigen Fassung verändert hat gegenüber dem Aufbau zur Zeit der Programmerstellung.
Ohne das Programm in seine Einzelheiten anzupassen oder gar alle Ideen des Erstellers nachvollzogen zu haben, ist festzustellen, das der heutige HTML-Quelltext die Floskel "Meinten Sie" in jedem Fall aufweist. Dieses führt zwangsläufig dazu, dass der gelsene HTML-Quellcode nicht mehr weiter verarbeitet wird.
Für die Beispielliste habe ich eine Veränderung im Pragrammcode vorgenommen, die die Kilometerentfernungen anschreibt und die Schaltflächen "Karte" mit der entsprechenden URL unterlegt.
Um es übersichtlich zu gestalten, gehe bitte in einer Arbeitskopie der EXCEL-Mappe wie folgt vor:
  • 1. Öffne den VBA-Editor und dort das Modul 1
  • 2. Öffne das Modul 1
  • 3. gehen zum Anfang der Prozedur Sub LeseEntfernung()
  • 4. suche dann die Zeile mit dem Zuweisungsbefel:
    tempHTML = appIE.Document.body.InnerHtml
    

  • 5. Kommentiere die nachfolgenden Zeilen bis einschließlich der Zeile mit der Zuweisung "Kein Ort" aus.
    -------------------------------------------
    Dies betrifft also die Zeilen:
    
    '    If InStr(tempHTML, "ist unbekannt") > 0 Then ' Or InStr(tempHTML, "Meinten Sie") > 0 Then
    '     ZielAdress.Offset(0, 2) = "unbekannt"
    '     GoTo NächstePLZ
    '    End If
    '   If Range("B1") = "" Then
    '    strHTML = tempHTML
    '    Debug.Print tempHTML
    '        If IsNumeric(strStart) Then
    '         strHTML = Right$(strHTML, Len(strHTML) - InStr(strHTML, "sa dir=ltr>" & strStart) -  _
    16)
    '         Else
    '         strHTML = Right$(strHTML, Len(strHTML) - InStr(strHTML, "sa dir=ltr>" & strStart & "") - 1)
    '    If InStr(strHTML, ">") > 0 Or InStr(strHTML, " 0 Then strHTML = ""
    '    Range("C2") = Trim$(strHTML)
    '   End If
    '    strHTML = tempHTML
    '    strHTML = Right$(strHTML, Len(strHTML) - InStr(strHTML, "Fahrt:") - 4)
    '    strHTML = Left$(strHTML, InStr(strHTML, " – "))
    '    strHTML = Trim$(Replace(strHTML, " ", " "))
    '    ZielAdress.Offset(0, 1) = strHTML
    '    strHTML = tempHTML
    '     If IsNumeric(ZielAdress) Then
    '      strHTML = Right$(strHTML, Len(strHTML) - InStr(strHTML, "sa dir=ltr>" & ZielAdress) - 16) _
    '     Else
    '      strHTML = Right$(strHTML, Len(strHTML) - InStr(strHTML, "sa dir=ltr>" & ZielAdress & "") - 1)
    '    If InStr(strHTML, ">") > 0 Or InStr(strHTML, " 0 Then strHTML = "kein Ort"
    

    -------------------------------------
    3. Über die Zeile
    ZielAdress.Offset(0, 2) = Trim$(strHTML)
    

    fügst Du bitte die folgenden Zeilen ein:
    
    If InStr(tempHTML, "ist unbekannt") > 0 Then
    ZielAdress.Offset(0, 2) = "unbekannt"
    GoTo NächstePLZ
    End If
    If Range("B1") = "" Then
    strHTML = tempHTML
    End If
    Dim p1 As Long
    p1 = InStr(strHTML, "],distance:")
    If p1 > 0 Then
    strHTML = Mid(strHTML, p1 + 12, InStr(p1, strHTML, "km") + 2 - (p1 + 12))
    Else
    strHTML = "kein Ort"
    End If
    
    Soweit ich in Kürze den HTML-Quelltext überschauen konnte, steht die Gesuchhte Entfernung hinter dem Schlüssewort "distance:". Hier wird nur die erste Routenlänge ausgegeben.
    Ob es weitere Interpretationsmöglichkeiten des HTML-Quelltext gibt, insbesondere in hinblick auf die doppelte Abfrage im Ursprungsprogramm, kann ich nicht sagen.
    Ich hoffe das Ergebnis entspricht Deinen erwartungen, Tobi.
    Gruß,
    Uwe
  • Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige