Liebe Forum-User!

Ich möchte an dieser Stelle einige sehr kurze und einfache Skripte, die uns jedoch geholfen haben, bereitstellen.

Bei Abarbeitung eines To-Do's wird dieses Skript aktiviert (nützlich um pat-bezogenen Bilder nach Kontakt schließen zu lassen).

-- prüft, ob die Vorschau läuft und beendet diese, wenn aktiv

if application "Preview" is running then

    tell application "Preview" to quit

end if


Optional verwenden wir zusätzlich dieses Skript:

-- Dieses Skript schließt das Aufgabenpanel .

set timeoutSeconds to 0.0

set uiScript to "click menu bar item \"Panel\" of menu bar 1 of application process \"tomedo\""

set uiScript to "click menu item \"Aufgaben\" of menu 1 of menu bar item \"Panel\" of menu bar 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

on 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


Hiermit kann innerhalb Aktionsketten gearbeitet werden:

-- Öffnen des Kalenders.

set timeoutSeconds to 0.0

set uiScript to "click menu bar item \"Aktion\" of menu bar 1 of application process \"tomedo\""

set uiScript to "click menu item \"Kalender\" of menu 1 of menu bar item \"Aktion\" of menu bar 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

on 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


Dies wird innerhalb eines Custom-Eintrages genutzt:

-- Öffnen des AU-Dialogs.

set timeoutSeconds to 0.0

set uiScript to "click menu bar item \"Formular\" of menu bar 1 of application process \"tomedo\""

set uiScript to "click menu item 17 of menu 1 of menu bar item \"Formular\" of menu bar 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

on 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


Und dieses Skript ist als Button in der Tagesliste verfügbar:

-- Öffnen des Kassenbuchs.

set timeoutSeconds to 0.0

set uiScript to "click menu bar item \"Verwaltung\" of menu bar 1 of application process \"tomedo\""

set uiScript to "click menu item \"Kassenbuch\" of menu 1 of menu bar item \"Verwaltung\" of menu bar 1 of application process \"tomedo\""

my doWithTimeout(uiScript, timeoutSeconds)

on 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


Ich hoffe das dies hilfreich ist.

Viele Grüße

Rene Wellmann

Gefragt von (300 Punkte)
0 Punkte

2 Antworten

Vielen Dank!
Beantwortet von (37.6k Punkte)
0 Punkte
Ich will das nicht schlecht reden, aber wenn wir eine Anpassung im Menü vornehmen (was jederzeit passieren kann) funktionieren die Skripte nicht mehr, da diese auf die genauen Namen angewiesen sind.
Beantwortet von (37k Punkte)
0 Punkte
Da haben Sie recht. Bei Bedarf werde ich versuchen Änderungen an den Skripten zeitnahe anzupassen, sodass diese weiterhin genutzt werden können.

LG
für einige Menüpunkte (z.B. Aufgaben) können Sie statt der Menüclicks auch die Hotkeys nutzen, diese sollten in Zukunft jedenfalls nicht mehr geändert werden.

Tolle Scripts und danke, dass Sie diese für die Community bereitstellen.

Viele Grüße

Martin Kötzing
5,194 Beiträge
9,226 Antworten
11,734 Kommentare
2,037 Nutzer