3 votos

AppleScript 'choose from list' - Tengo problemas con las selecciones múltiples

Tengo una serie de AppleScripts que se guardan como aplicaciones. Para simplificar, digamos que las aplicaciones se llaman literalmente App1, App2 y App3. He hecho una lista simple que pide al usuario que haga una selección, y luego abre esa aplicación. Funciona bien para selecciones simples

choose from list {¬
    "App1", ¬
    "App2", ¬
    "App3"} ¬
    with prompt "What would you like to do?" with multiple selections allowed and empty selection allowed

if not result is equal to false then activate application (result as string)

Pero también necesito poder seleccionar varias aplicaciones al mismo tiempo y lanzarlas todas juntas (o secuencialmente).

Actualmente, si elijo App1 y App3 me aparece un diálogo de Elegir Aplicación que dice "¿Dónde está App1App3?" que obviamente no existe.

¿Cómo puedo cambiar el código para que vea las selecciones como aplicaciones separadas y las lance correctamente?

0 votos

La intención de esto parece muy similar a la de apple.stackexchange.com/questions/383193/

0 votos

Lo es, pero la solución no funcionó al final. Mi vida real de trabajo script necesita unas 30 aplicaciones en esa lista, y con la solución anterior tuve que añadir TANTAS does not contain normas a cada if/then que se volvió terriblemente complejo y plagado de errores cuando inevitablemente se me escapó alguno. Así que he pensado en volver a enviarlo con una pregunta más sencilla, y espero que la solución siga siendo casi tan simple como el script original que tengo. Espero que sólo sea cuestión de editar esa última línea.

0 votos

Idk applescript bastante bien, pero en teoría, me coerce en una lista y iterar.

3voto

David Anderson Puntos 2189

En el punto en el que tienes un problema, result es un lista . Prueba con recorrer en bucle los elementos de la lista .

set answer to choose from list {¬
    "App1", ¬
    "App2", ¬
    "App3"} ¬
    with prompt "What would you like to do?" with multiple selections allowed and empty selection allowed
if answer is not false then
    repeat with appitem in answer
        activate application appitem
    end repeat
end if

0 votos

Gracias. Esto funciona muy bien. ¿Qué hace applic ¿hacer? ¿Supongo que es la abreviatura de aplicación? Parece una variable pero no la veo definida en ningún sitio.

0 votos

Quería utilizar application o item pero estos son los nombres de una clase. Así que tuve que elegir otra cosa. Me decidí por usar appitem para el nombre de la variable.

0 votos

Gracias. Esta es una versión simplificada de un script que estoy tratando de escribir, y ayuda enormemente. A continuación me gustaría escalarlo hasta unos 30 elementos de la lista. Para las selecciones múltiples me gustaría que sólo seleccionara un aplicación diferente en lugar de ejecutar varias aplicaciones de forma secuencial. Una solución fue publicada en el enlace aquí, pero necesito una respuesta diferente que simplemente actúa en mi selección y EXCLUYE todas las otras opciones. Cualquier consejo sería muy apreciado. apple.stackexchange.com/questions/383193/

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