1 votes

Apple script pour l'autotypage

Je voudrais juste savoir comment ajouter plusieurs lignes dans mon autotyper.

Actuellement, tout ce qu'il peut faire, c'est répéter les mêmes lignes encore et encore, à savoir "NOTICE NOTICE NOTICE".

J'aimerais savoir comment ajouter plusieurs lignes de texte différentes, puis faire en sorte que les lignes se répètent.

Voici mon code actuel :

tell application "System Events"
delay 1
set textToType to "NOTICE NOTICE NOTICE"
    repeat
        delay 5
        keystroke textToType
        keystroke return
    end repeat
end tell

0 votes

Ne pouvez-vous pas simplement définir plusieurs variables et les sortir toutes dans la boucle ?

1voto

Tetsujin Points 95239

Si vous devez absolument le faire par AppleScript, le plus simple est de concaténer votre textToType avec des retours déjà insérés.
Si vous copiez/collez un texte de plusieurs lignes, AppleScript insère des caractères de nouvelle ligne. \n mais elles ne se traduisent pas bien dans d'autres applications.

set textToType to "NOTICE NOTICE NOTICE" & return & "Notice 2" & return & ¬  
"Notice 3" & return & "Notice 4" & return
tell application "System Events"
    keystroke textToType
end tell

Le petit 'L' latéral ¬ indique simplement à Applescript que cette nouvelle ligne n'est pas une nouvelle ligne de script mais une continuation de la précédente - afin qu'elle ne défile pas directement de la page.

Sans cela, la ligne ressemblerait à ceci

set textToType to "NOTICE NOTICE NOTICE" & return & "Notice 2" & return & "Notice 3" & return & Notice 4" & return

Personnellement, c'est le genre de tâche que je confierais à la fonction de remplacement de texte intégrée d'Apple plutôt qu'à AppleScript.

Préférences système > Clavier > Texte

Appuyez sur + en bas, tapez votre mot déclencheur, puis copiez/collez à partir de quelque chose comme TextEdit, qui conservera correctement vos retours chariot.
[Vous ne pouvez pas ajouter de retours de chariot directement dans ce panneau de préférences, vous devez copier/coller une source existante. Vous ne pouvez pas non plus voir correctement un remplacement sur plusieurs lignes dans le volet - mais il sera exactement comme vous l'avez copié, à l'usage].

Ensuite, chaque fois que vous tapez votre déclencheur, il le remplacera par votre collage multi-lignes.

enter image description here


Après les commentaires - si vous avez besoin d'un délai entre chaque ligne, vous ne pouvez pas concaténer et devez envoyer chaque appel séparément.

tell application "System Events"
    keystroke "NOTICE NOTICE NOTICE" & return
    delay 5
    keystroke "Notice 2" & return
    delay 5
    keystroke "Notice 3" & return
    delay 5
    keystroke "Notice 4" & return
end tell

0 votes

Merci pour votre aide. Cependant, comment ajouter un délai avant la nouvelle ligne de texte ?

0 votes

Si vous avez besoin d'un délai, vous ne pouvez pas concaténer, voir ajout à la réponse.

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