0 votes

Comment puis-je exécuter AppleScript à partir de Textedit ?

J'ai le code AppleScript suivant dans un fichier Textedit :

set the clipboard to (do shell script "date +%d/%m/%y")
tell application "System Events"
    keystroke tab using command down
    keystroke "v" using command down
end tell

Comment puis-je exécuter ce code ?

0 votes

J'ai modifié la question pour m'assurer que le titre correspond au contenu.

0 votes

Pouvez-vous préciser ce que vous essayez de faire ? Essayez-vous vraiment d'insérer la date dans votre document TextEdit au niveau du curseur ?

4voto

nohillside Points 82672

Vous ne pouvez pas exécuter AppleScript directement depuis TextEdit. Apple fournit cependant un éditeur AppleScript dans /Applications/Utilities/Script\ Editor.app qui permet de créer et d'exécuter facilement du code AppleScript.

Il suffit de naviguer vers /Applications/Utilities dans le Finder, exécutez Script Editor et copier/coller votre code dedans.

2voto

OnePablo Points 1

Si c'est quelque chose que vous devez faire assez souvent (et que, pour une raison ou une autre, vous ne souhaitez pas avoir à utiliser l'outil scriptÉditeur ), l'un des moyens d'y parvenir consiste à créer une Service (ou Action rapide ) en Automator :

Run As AppleScript Service

Il sera réglé pour recevoir text in any application et veiller à ce que le Output replaces selected text .

Une fois enregistré, vous pouvez sélectionner le texte dans TextEdit (ou, en fait, n'importe quelle application), et faites-lui exécuter l'AppleScript in situ, en renvoyant le résultat, qui apparaîtra sous la sélection.

Code AppleScript :

on run {{input}}
    local input

    try
        return {input, run script input}
    on error E
        return {input, E}
    end try
end run

0 votes

Désolé, j'ai dû faire une modification pour retirer mon vote positif. La raison pour laquelle j'ai fait cela est que si votre réponse fonctionne dans certains cas, elle échoue également dans d'autres. Je peux bloquer le service Automator avec un simple code AppleScript de base. Ce n'est donc pas une réponse viable.

0 votes

@user3439894 Pouvez-vous être plus précis ?

1 votes

Prenons l'exemple du code figurant dans l'OP. Tel quel, exécuté par votre service, il échoue car TextEdit n'aurait pas le focus lorsque System Events exécute les frappes. Ajoutez un tell application "TextEdit" to activate après la set the clipboard ... et le service Automator continue de fonctionner dans la barre de menu et ne dépasse jamais 0 % d'exécution. Même en sélectionnant tell application "TextEdit" to activate suspend le service Automator.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X