IPB

Bienvenue invité ( Connexion | Inscription )

> applescript pour cocher une option des préférences
Options
MacEmbert
posté 22 Mar 2023, 12:23
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 914
Inscrit : 12 Oct 2004
Lieu : Liège.be
Membre no 25 088



Bonjour,

Je désirerais scripter un geste que je dois faire plusieurs fois par heure… mais ne suis pas trop versé dans le codage.

Dans une application, je voudrais créer les étapes suivantes:
(dans l'application courante, celle qui est à l'avant-plan)
- raccourci clavier ⌥⌘,
- clic sur onglet "cotations"
- clic sur case à cocher "Placer les cotations…" (pour cocher ou décocher selon que l'état de la case)
- clic sur OK en bas de la fenêtre de dialogue

L'idée est de placer ce script dans BetterTouchTool pour l'appeler via un raccourci clavier.

Merci de votre aide!

Capture d'écran



--------------------
Je ne croque pas que des pommes, j'aime aussi le Camembert.
iMac 2020, macOS Ventura
MacMini C2D 2020, macOS Monterey
iPad mini 2, iPad 6
iPhone 12 pro
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
PBell
posté 23 Mar 2023, 09:29
Message #2


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 266
Inscrit : 7 Dec 2013
Lieu : Ile de France
Membre no 188 169



Bonjour MacEmbert,
L'erreur provient du fait que tu cherches à atteindre un élément de l'interface qui n'existe pas: checkbox of tab group 2 of window 1

C'est une des difficultés classiques lorsque l'on cherche à simuler l'interface utilisateur. Il se peut que l'application n'ai pas défini les tab dans l'ordre où tu les vois, voir même dans certains cas que tu n'adresses pas la bonne window.
Il se peut aussi que ton script soit trop rapide: tu cherches à utiliser la check box de la window 1, quelques milisecondes (ou secondes !) avant que celle-ci ne soit ouverte par l'application. La première chose à tenter est d'ajouter un délai dans le script entre ton keystroke "," et le "tell window 1".

Si le délai ajouté ne change rien, il faut considérer alors que, bien que la fenêtre soit ouverte, l'élément que tu cherches n'est pas présent !
N'ayant pas Vectorworks, je ne peux t'aider directement, mais je vais t'expliquer comment tu peux chercher le bon UI element (la case à cocher) par itérations sucessives.

1) tu ouvres Vectorworks et sa fenêtre de préférence
2) tu ouvres l'éditeur Applescript. En bas de la fenêtre, tu sélectionnes pour voir les réponses et tu lances le script suivant:
CODE
tell application "Vectorworks" to activate -- set active the last actived application
delay 1
tell application "System Events"
    set B to UI element of window 1 of application process "Vectorworks"    
end tell

(je suppose que ta fenêtre de préférence est bien Window 1 !)

Dans la partie Réponses en bas de fenêtre, tu dois obtenir la liste des IU elements de la fenêtre de préférence.
Il faut que y trouve le tab que tu cherches. Il peut être inclus dans un groupe lui-même.
Une fois que tu l'as trouvé, tu corriges le script ci-dessus pour l'étape suivante.
Par exemple, si tu as trouvé qu'il s'agit de group 1, la ligne de script devient :
CODE
set B to UI element of group 1 of window 1 of application process "Vectorworks"

Tu relances le script et tu verras le contenu du group 1 et ainsi de suite jusqu'à ce que tu trouves ta checkbox !

Bon courage


--------------------
iiMac 24 M1 16Go/1To 13.5.1
iMac 27 i5 3,1GHz 8Go/1To 10.11.6 / 10.6.8
iMac 20 C.Duo 2,6Ghz 8Go/350Go 10.6.8 / 10.11
Mini C.Duo 2,0Ghz 2Go/500Go 10.6.8
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 7th July 2025 - 19:14