Configuración del contenido del portapapeles en AppleScript

Quiero establecer el contenido del portapapeles en una variable. He hecho esto antes, y debería ser lo suficientemente simple, pero recibo un error.

on checkiPadFinished()
    set tempiPadSerial to "b"
    tell application "System Events"
        tell process "iTunes"
            keystroke "c" using {command down}
            set tempiPadSerial to the clipboard as string
            if firstiPadSerial is tempiPadSerial then
                return true
            else if firstiPadSerial is "a" then
                set firstiPadSerial to the clipboard as string
            end if
        end tell
    end tell
    return false
end checkiPadFinished

Anteriormente en mi código declaro variables globales

global XXX, yyy, zzz, firstiPadSerial establece firstiPadSerial en "a"

La llamada a checkiPadFinished() se ve así:

set doneiPads to my checkiPadFinished()

Por lo que puedo decir, todo debería funcionar, pero en cambio recibo un mensaje de error críptico.

EDITAR: sin cambiar nada, se está ejecutando. Estoy perdido. Ojalá hubiera escrito el mensaje de error. Pero presioné el botón Ir por décima vez y funcionó, así que ni siquiera puedo decir cuál era el mensaje.

preguntado el 12 de junio de 12 a las 22:06

«constant hicoorng» parece ser una constante de eventos del sistema para el color naranja. ¿Puedes publicar el código real que estás usando? -

¿Adónde vas para encontrar las constantes de eventos del sistema? Además, ¿sabe dónde puedo encontrar una lista de todos los códigos de error? Google no parece ser bueno para encontrar códigos de error de applescript:

La clase en su error se compila en "naranja" en una declaración de eventos del sistema, por lo que mirar en el archivo de definición de secuencias de comandos /System/Library/CoreServices/System Events.app/Contents/Resources/SystemEvents.sdef revela que es un color resaltado en las preferencias de apariencia. Hay una lista de errores medianamente decente en uno de los encabezados de marcos en /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacErrors.h - una aplicación también puede definir sus propios códigos de error. -

1 Respuestas

Tratar:

  activate application "iTunes"
tell application "System Events"
    tell process "iTunes"
        select row 15 of outline 1 of scroll area 2 of window "iTunes"
        keystroke "c" using {command down}
        delay 0.5 -- jackjr300's suggestion
        set xxx to the clipboard
    end tell
end tell

enter image description here

Respondido el 21 de junio de 12 a las 19:06

¡Gracias! Pero el nombre del ipod cambia a medida que se ejecuta el programa, así que estoy tratando de usar números de serie para identificar los dispositivos. Pensé que esto sería fácil porque puedo obtener la serie con una copia simple. Ahora que tengo la serie, solo quiero ponerla en una variable y seguir mi camino alegre. Pero me sale ese error cada vez que lo intento. - MrMannWood

Yo tengo. Me sale el mismo error. También debo especificar, esto no es un error de tiempo de ejecución. El editor de Applescript no me deja guardar, sino que dice que no puedo configurar < > al portapapeles porque el acceso no está permitido. - MrMannWood

Además, sé que puedo acceder al portapapeles, porque si le digo que "diga el portapapeles", me lee el número de serie. - MrMannWood

También estoy en 10.6.8 e iTunes 10.6.1, pero dice ser la versión más nueva de iTunes. Intenté ejecutar mi edición para ver qué pasaba, y arroja el número de error -1708 < > --> número de error -1708 - MrMannWood

En realidad, justo después de publicar esto, comenzó a funcionar. No creo que haya cambiado nada en absoluto. Voy a hacer una edición final del segmento de código de trabajo. Estoy perdido por lo que pasó. - MrMannWood

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.