Apple Script pour l'autotypage

1

J'aimerais juste savoir comment ajouter plusieurs lignes dans mon autotyper.

Actuellement, tout ce qu'il peut faire est de répéter les mêmes lignes encore et encore, ce qui est "AVIS AVIS AVIS".

J'aimerais savoir comment ajouter plusieurs lignes de texte différentes, puis les répéter.

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
Soph
la source
Ne pouvez-vous pas simplement définir plusieurs variables et les afficher toutes dans la boucle?
nohillside

Réponses:

1

Si vous devez absolument le faire par AppleScript, le moyen le plus simple consiste simplement à concaténer votre textToType avec des retours déjà insérés.
Si vous copiez / collez du texte sur plusieurs lignes, AppleScript insérera de nouveaux caractères. \n mais ceux-ci ne 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 côté dit simplement à Applescript que cette nouvelle ligne n'était pas une nouvelle ligne de script mais une continuation de la précédente - elle ne disparaît donc 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 & gt; Clavier & gt; Texte

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

Ensuite, chaque fois que vous tapez votre déclencheur, il le remplacera par votre pâte multiligne.

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 & amp; doit 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
Tetsujin
la source
Merci pour l'aide. Bien que, comment puis-je ajouter un délai avant la nouvelle ligne de texte?
Soph
Si vous avez besoin d’un délai, vous ne pouvez pas concaténer, voir l’ajout à la réponse.
Tetsujin