MRSOEREN
Gast
Ein schönen guten Tag,
für meine Diplomarbeit möchte ich von ca. 2000 Orten in Deutschland die Entfernung zu einem bestimmten Ort, z. B. Berlin, per Internetabfrage ermitteln. Um diese Abfrage aber nicht selbst durchführen zu müssen, würde ich gerne AppleScript nutzen.
Vermutlich habe ich mir als Anfänger in AppleScript gleich eine sehr heftige Aufgabe ausgesucht. Nach intensiver Studie von verschiedenen Büchern und Hilfemenüs bin ich zwar weiter gekommen, aber das Script funktioniert trotzdem noch nicht. (Siehe Script unten)
Das Endergebnis habe ich mir so vorgestellt:
In einer Excel Datei sind in Spalte A alle Postleitzahlen enthalten, zu denen die Entfernung abgefragt werden soll. Ich kopiere den Inhalt aus der Zelle, gehe dann auf die Webseite von OpenGeoDB (oder mapquest), trage dort den Startort und den Zielort (ist immer der selbe) ein und warte ca. 2 Sekunden bis die Anfrage bearbeitet ist.
Danach markiere ich die Entfernung in Kilometer und kopiere sie und gehe zurück in meine Excel-Datei und füge sie an der entsprechenden Stelle ein.
Ursprünglich wollte ich es so scripten, dass die Prozedur automatisch abgebrochen wird, wenn in Excel eine Zelle ohne Inhalt ist, aber das habe ich nicht hinbekommen.
Um dieses Problem zu umgehen habe ich eine Abfrage zuvor eingebaut, in die einfach nur die Anzahl der Abfragen eingetragen werden müssen.
Es wäre sehr schön, wenn mir jemand bei diesem Problem auf die Sprünge helfen könnte. Meine Kenntnisse reichen dafür einfach nicht aus.
Vielen Dank.
MRSOEREN
tell application "Microsoft Excel"
Activate
set userResponse to the text returned of (display dialog "Gib die Anzahl der Postleitzahlen ein!" default answer "0")
repeat with i from 0 to userResponse
«event misccopy» Cell ("A" & (i + 1)) of Sheet 1
tell Application "System Events"
tell process "Safari"
set frontmost to true
select text field 1 of group 10 of group 3 of group 1 of group 3 of UI element 1 of scroll area 1 of group 3 of window "MapQuest: Fahrtrouten"
click menu item 6 of menu 1 of menu bar item 4 of menu bar 1
end tell
tell process "Safari"
set value of text field 1 of group 9 of group 1 of group 1 of group 3 of UI element 1 of scroll area 1 of group 3 of window "MapQuest: Fahrtrouten" to "00000"
end tell
tell application "System Events"
delay [2]
end tell
tell process "Safari"
click button "Fahrtrouten zeigen" of group 2 of group 1 of group 3 of UI element 1 of scroll area 1 of group 3 of window "MapQuest: Fahrtrouten"
end tell
tell application "System Events"
delay [5]
end tell
tell process "Safari"
set frontmost to true
try
click at {504 + (32 div 2), 271 + (15 div 2)}
select static text
end try
end tell
tell process "Safari"
click menu item 5 of menu 1 of menu bar item 4 of menu bar 1
end tell
tell application "Microsoft Excel"
Activate
Select Cell ("B" & (i + 1)) of Sheet 1
Paste
end tell
end tell
end repeat
end tell
für meine Diplomarbeit möchte ich von ca. 2000 Orten in Deutschland die Entfernung zu einem bestimmten Ort, z. B. Berlin, per Internetabfrage ermitteln. Um diese Abfrage aber nicht selbst durchführen zu müssen, würde ich gerne AppleScript nutzen.
Vermutlich habe ich mir als Anfänger in AppleScript gleich eine sehr heftige Aufgabe ausgesucht. Nach intensiver Studie von verschiedenen Büchern und Hilfemenüs bin ich zwar weiter gekommen, aber das Script funktioniert trotzdem noch nicht. (Siehe Script unten)
Das Endergebnis habe ich mir so vorgestellt:
In einer Excel Datei sind in Spalte A alle Postleitzahlen enthalten, zu denen die Entfernung abgefragt werden soll. Ich kopiere den Inhalt aus der Zelle, gehe dann auf die Webseite von OpenGeoDB (oder mapquest), trage dort den Startort und den Zielort (ist immer der selbe) ein und warte ca. 2 Sekunden bis die Anfrage bearbeitet ist.
Danach markiere ich die Entfernung in Kilometer und kopiere sie und gehe zurück in meine Excel-Datei und füge sie an der entsprechenden Stelle ein.
Ursprünglich wollte ich es so scripten, dass die Prozedur automatisch abgebrochen wird, wenn in Excel eine Zelle ohne Inhalt ist, aber das habe ich nicht hinbekommen.
Um dieses Problem zu umgehen habe ich eine Abfrage zuvor eingebaut, in die einfach nur die Anzahl der Abfragen eingetragen werden müssen.
Es wäre sehr schön, wenn mir jemand bei diesem Problem auf die Sprünge helfen könnte. Meine Kenntnisse reichen dafür einfach nicht aus.
Vielen Dank.
MRSOEREN
tell application "Microsoft Excel"
Activate
set userResponse to the text returned of (display dialog "Gib die Anzahl der Postleitzahlen ein!" default answer "0")
repeat with i from 0 to userResponse
«event misccopy» Cell ("A" & (i + 1)) of Sheet 1
tell Application "System Events"
tell process "Safari"
set frontmost to true
select text field 1 of group 10 of group 3 of group 1 of group 3 of UI element 1 of scroll area 1 of group 3 of window "MapQuest: Fahrtrouten"
click menu item 6 of menu 1 of menu bar item 4 of menu bar 1
end tell
tell process "Safari"
set value of text field 1 of group 9 of group 1 of group 1 of group 3 of UI element 1 of scroll area 1 of group 3 of window "MapQuest: Fahrtrouten" to "00000"
end tell
tell application "System Events"
delay [2]
end tell
tell process "Safari"
click button "Fahrtrouten zeigen" of group 2 of group 1 of group 3 of UI element 1 of scroll area 1 of group 3 of window "MapQuest: Fahrtrouten"
end tell
tell application "System Events"
delay [5]
end tell
tell process "Safari"
set frontmost to true
try
click at {504 + (32 div 2), 271 + (15 div 2)}
select static text
end try
end tell
tell process "Safari"
click menu item 5 of menu 1 of menu bar item 4 of menu bar 1
end tell
tell application "Microsoft Excel"
Activate
Select Cell ("B" & (i + 1)) of Sheet 1
Paste
end tell
end tell
end repeat
end tell