Wende mich mit der Bitte um Unterstützung an erfahrene Tomedianer 

Bin mit einem Apple Script überfordert.

Möchte gerne folgenden Befehl in der karteieintragszeile automatisieren und mittels Apple Script ausführen.

 

Gehe zu Karteizeile“; Eingabe „0“ ; „Enter“, Eingabe „1“; Enter

 

Der Automator hat folgendes Script erstellt:

 

K drücken

delay 0.483969

set timeoutSeconds to 2.000000

set uiScript to "keystroke \"k\" using command down"

my doWithTimeout( uiScript, timeoutSeconds )

 

end doWithTimeout(uiScript, timeoutSeconds)

set endDate to (current date) + timeoutSeconds

repeat

try

run script "tell application \"System Events\"

" & uiScript & "

end tell"

exit repeat

on error errorMessage

if ((current date) > endDate) then

error "Can not " & uiScript

end if

end try

end repeat

end doWithTimeout

 

 

return input

end run

Welchen Befehl  für on run {input, parameters} muss ich formulieren, damit die gewünschte Aktion ausgeführt wird?

 

Herzlichen Dank im Voraus

 

CK

Gefragt von (1.5k Punkte)
0 Punkte
Ich kenne mich noch nicht ausreichend mit den Skripten aus. Mich würde viel mehr interessieren, was Sie damit automatisieren möchten. Ich bin für jede Anregung dankbar!
Ich möchte ein paar Klicks sparen, indem ich über den Befehl ein Makro starte, über dass alle meine Aktionsketten mit den verschiedenen Untersuchungsgängen gestartet werden können. Leider kann man in Tomedo in den Makros nur ein Unterverzeichnis erstellen. In den Aktionsketten muss man sich von Beginn an festlegen und die Schritte sind nicht flexibel.

2 Antworten

Beste Antwort

Hallo Herr Klaproth!

Automator ist an sich nur hilfreich, um für die Application "System Events" die erforderlichen Bezeichnungen der UI-Elemente herauszufinden. Das wäre für das von Ihnen genannte simple Beispiel, in dem wohl in der Kommandozeile nur 0 - Enter und 1 - Enter gedrückt werden soll, nicht erforderlich. Voraussetzung ist allerdings, dass vor Aufruf des Scripts der richtige Pat. in der Tages liste ausgewählt bzw. schon seine Kartei geöffnet ist.

Dann müsste etwa folgendes funktionieren:

tell application "System Events"

tell application process "tomedo"

-- cmd-K

key code 40 using command down

-- 1

key code 18

-- Enter (nicht Return)

key code 76

-- 2

keycode 19

key code 76

end tell

end tell

Zu den Codes siehe auch: https://eastmanreference.com/complete-list-of-applescript-key-codes

Evtl. muss noch eine kleine Pause nach einem Tastendruck einprogrammiert werden. Das ganze TimeOut-Gedöns, das Automator da produziert, braucht man nach meiner Erfahrung nur, wenn UI-Elemente geklickt werden sollen. Solche Scripte laufen nur, wenn auf jedem Rechner tomedo und System-Events in den Systemeinstellung die erforderlichen Rechte zum Steuern der jeweils anderen Application vergeben werden.

Ich hoffe das hilft etwas weiter...

Beantwortet von (1.2k Punkte)
ausgewählt von
0 Punkte

Hallo Herr Keller

herzlichen Dank. Wo kann man sich dieses Wissen aneignen? Haben Sie da Tipps für Mich?

 

Herr Rose hat mir so etwas ähnliches mitgeteilt, damit klappt es jetzt:

tell application "System Events"

delay 0.5

keystroke "k" using command down

delay 0.5

keystroke "0"

key code 36

delay 0.5

keystroke "1"

key code 36

end tell

 

Grüße aus HUSUM

CK

Apple Script ist an sich ne ganz witzige Sache, allerdings lausig dokumentiert.

Wenn sie tomedo über Script fernsteuern wollen, benutzen Sie im Wesentlichen die Möglichkeiten des sog. GUI-Scripting. Dabei wird die versteckte Anwendung System Events per Script angewiesen, User-Aktionen zu simulieren. Sauberer lässt sich mit Anwendungen arbeiten, die selbst Script-Befehle bereitstellen, das ist bei tomedo leider nur rudimentär der Fall (Auslösen von Aktionsketten, s.a. meine Kritik an anderer Stelle hier im Forum). Wenn Sie Dinge über GUI-Scripting realisieren, laufen Sie immer Gefahr, dass Ihr Script nach dem nächsten Update nicht mehr läuft, da die Entwickler bei Zollsoft ja nicht wissen was Sie da tun und Ihr Script den Bildschirminhalt nicht kennt.

Vielleicht helfen Ihnen die Ergebnisse der folgenden Google-Suche im Einarbeiten etwas weiter:

GUI Scripting mit Apple Script

Hallo aus Verden, Herr Klapproth, der Automator eignet sich nicht wirklich für die Appleskripte, um damit in Tomedo zu arbeiten. Ich hatte mich vor 2 Jahren etwas tiefer in die Materie reingekniet und bin trotz Informatikstudium vor 20 Jahren und Hilfe durch Tomedo kläglich gescheitert. Der Hauptgrund war damals das Problem das Applescript bei so vielen Fenstern auf die zur Zeit geöffnete Karteikarte des Patienten anzuwenden. Ich weiß nicht, ob dieses Problem nun gelöst wurde? Jedenfalls mein Rat an dieser Stelle, diese Frage zu klären, oder das Ziel auf anderem Wege erreichen ;-)) Gruß Ralf Kampmann
Beantwortet von (3.1k Punkte)
0 Punkte
6,189 Beiträge
10,614 Antworten
14,100 Kommentare
2,529 Nutzer