1 votes

Comment adresser la valeur d'un objet dans une clause whose en AppleScript ?

J'essaie de tester une propriété d'objet des éléments dans une clause whose.

Par exemple, utilisons les éléments communs "document" et "fenêtre" que possèdent presque toutes les applications Mac :

tell application "TextEdit"
    get document 1 --> document "Untitled"
    get window 1 --> window id 40640
    get document of window 1 --> document "Untitled"
end tell

Nous voyons donc que la fenêtre 1 a une propriété document qui renvoie à un élément document.

J'aimerais maintenant trouver tous les documents qui se trouvent dans la fenêtre 1 (ne remettez pas en question le sens de cette démarche - bien qu'elle n'ait guère de sens dans ce cas particulier, j'ai besoin de la solution pour un autre cas où elle est réellement utile). J'essaie ceci :

set theDoc to document of window 1 --> document "Untitled"
get every window whose document is theDoc

Mais cela échoue avec l'erreur Impossible de transformer le document en référence de type. Numéro -1700 du document à la référence. .

Comment puis-je résoudre ce problème sans me résoudre à une commande en boucle (repeat), mais en restant avec la commande whose clause ?

1voto

Utilisez its o of it comme ceci :

tell application "TextEdit"
    set theDoc to document of window 1
    get every window whose its document is theDoc
    -- or --> get every window whose document of it is theDoc
end tell

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