1 votos

Error en applescript "Índice inválido"

Tengo un flujo de trabajo de Automator que funciona bien, excepto una parte: applescript.

Así es el flujo de trabajo -

Ejecutar applescript (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 el valor de la variable (El nombre de la variable es 'número')

Obtener el valor de la variable (me he asegurado de que esto no recibe ninguna entrada directa de las acciones anteriores. Estoy llamando a la variable 'number' 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 datos de contacto de un correo electrónico y añadirlos como contacto en la libreta de direcciones (Este no es el flujo de trabajo completo, ya que es bastante grande. He mostrado sólo las acciones relevantes).

Le agradecería cualquier ayuda.

1voto

KLMN Puntos 50

Los valores que se establecen antes no se dan a través del input parámetro. Siempre que ejecute su flujo de trabajo de Automator como un Flujo de trabajo de Automator y no como una Aplicación o Servicio, puede acceder a las variables de su antiguo conjunto 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 su acción "Run Applescript".

Saludos, Michael / Hamburgo

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