1 votos

¿Cómo puedo dirigir un valor de objeto en una cláusula whose en AppleScript?

Estoy tratando de probar una propiedad de objeto de elementos en una cláusula whose.

Por ejemplo, utilicemos los elementos comunes "documento" y "ventana" que tienen casi todas las aplicaciones de Mac:

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

Así que vemos que la ventana 1 tiene una propiedad de documento que apunta a un elemento de documento.

Ahora me gusta encontrar todos los documentos que están en la ventana 1 (por favor, no cuestione el sentido de esto - aunque tiene poco sentido en este caso particular, necesito la solución para un caso diferente donde es realmente útil). Intento esto:

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

Pero eso falla con el error No se puede convertir el documento en referencia de tipo. número -1700 del documento a la referencia .

¿Cómo resuelvo esto sin resolver a un comando de bucle (repetición), pero permaneciendo con el whose ¿cláusula?

0 votos

¿Has probado a utilizar el Inspector de Accesibilidad para ver la relación jerárquica de los distintos objetos, así como la información que expone? Me parece que esto puede ser muy útil en la formulación de una declaración.

0 votos

Estoy usando el explorador de script Debugger, que es magnífico para este trabajo

1voto

Baczek Puntos 150

Utilice its o of it así:

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X