Error en el código de manzana "Índice no válido"

0

Tengo un flujo de trabajo de automatización que funciona bien, excepto por una parte de él: applecript.

Así es como va el flujo de trabajo -

Ejecuta applecript (esta parte funciona bien) -

on run {input, parameters}

    tell application "Mail" to set theMessageText to content of (get first message of inbox)
    set x to text ((offset of "9" in theMessageText) + 2) thru ((offset of " " in theMessageText) - 1) of theMessageText
end run

Establecer valor para la variable (el nombre de la variable es 'número')

Obtenga el valor para la variable (me aseguré de que no reciba ninguna entrada directa de las acciones anteriores. Estoy llamando a la variable 'número' aquí y he duplicado este proceso 2 veces más para llamar a 2 variables más)

Ejecutar Applescript (este es el código con el que tengo problemas) -

on run {input, parameters}
    set cat to first item of input
    set x to second item of input
    set o to third item of input
    tell application "Contacts"
        set thePerson to make new person with properties {first name:"Testing", last name:"Auto"}
        make new phone at end of phones of thePerson with properties {label:"Main", value:x}
        repeat with z from 1 to o
            set a to item z of cat
            add thePerson to group a
        end repeat
        save
    end tell
end run

El error que se muestra aquí es "Error de sintaxis: no se puede obtener el elemento 2. Índice no válido".

El objetivo del flujo de trabajo es obtener algunos detalles de contacto de un correo electrónico y agregarlos como un contacto en la libreta de direcciones (este no es el flujo de trabajo completo, ya que es bastante grande. He mostrado solo las acciones relevantes) .

Estaría agradecido por cualquier ayuda.

    
pregunta Kevin Vert 20.11.2014 - 20:51

1 respuesta

0

Los valores que estableció antes no se proporcionan a través del parámetro input . Siempre que ejecute el flujo de trabajo de Automator como un flujo de trabajo de Automator y no como una aplicación o servicio, puede acceder a sus variables previamente establecidas utilizando lo siguiente:

tell application "Automator"
    set cat to value of variable "NameOfFirstVariable" of front workflow
    set x to value of variable "NameOfSecondVariable" of front workflow
    set o to value of variable "NameOfThirdVariable" of front workflow
end tell

dentro de tu acción "Ejecutar Applescript".

Saludos, Michael / Hamburgo

    
respondido por el ShooTerKo 21.11.2014 - 14:38

Lea otras preguntas en las etiquetas