¿Cómo puedo usar un Applescript desde un programa?

5

Esta pregunta ¿Hay alguna forma de agregar todos los destinatarios de un correo electrónico a un grupo / carpeta en los contactos de Mail? parece tener una respuesta que sería útil para mí, pero en realidad no sé cómo usar el script desde Mail.

Alternativamente, parece que Automator también podría usarse, pero tampoco estoy muy familiarizado con Automator. Busco ampliar las herramientas y vincularlas para resolver problemas generales, con el mantenimiento de la membresía del grupo como mi desafío actual.

¿Cómo puedo ejecutar un AppleScript desde un programa?

    
pregunta Alan Munn 22.02.2012 - 17:50

1 respuesta

7

Para usar este (o cualquier otro) script en un programa como Apple Mail, puedes crear un servicio en Automator.

Inicia el programa Automator .

Cuando dice Elija un tipo para su documento , seleccione Servicio y haga clic en Elegir

Enelcuadrodediálogosuperior,seleccioneElserviciorecibesinentradaenMail.app(oelnombredesuprogramaocualquieraplicaciónsiesoesloquequieres).

Insertarásunaacción:enelgrupoUtilidades,hazdobleclicenEjecutarAppleScript.

Selecciona el texto que dice

  

(* Your script goes here *)

y pega en el script que quieres ejecutar. En su caso, el script que desea pegar es

  tell application "Mail"
    set theSelection to selection
    set theMessage to item 1 of theSelection
    set theSubject to subject of theMessage
    tell application "Address Book"
        set theGroup to make new group with properties {name:theSubject}
    end tell
    set theRecipients to to recipients of item 1 of theMessage
    repeat with a from 1 to count theRecipients
        set theRecipient to item a of theRecipients
        tell application "Address Book"
            set theName to name of theRecipient
            tell application "Mail" to set theAddress to address of theRecipient
            set thePerson to make new person with properties {first name:name of theRecipient}
            make new email at end of emails of thePerson with properties {value:theAddress}
            add thePerson to theGroup
        end tell
    end repeat
    set theRecipients to cc recipients of item 1 of theMessage
    repeat with a from 1 to count theRecipients
        set theRecipient to item a of theRecipients
        tell application "Address Book"
            set theName to name of theRecipient
            tell application "Mail" to set theAddress to address of theRecipient
            set thePerson to make new person with properties {first name:name of theRecipient}
            make new email at end of emails of thePerson with properties {value:theAddress}
            add thePerson to theGroup
        end tell
    end repeat
    tell application "Address Book" to save
  end tell

Una vez que hayas hecho eso, ve al menú Archivo y haz clic en Guardar .

Asigne al servicio un nombre que recuerde, como "Agregar destinatarios al grupo".

Luego, cuando esté en Correo, puede seleccionar uno o más mensajes y dirigirse al menú Correo en la barra de menú, luego al menú Servicios en el menú Correo. y seleccione el servicio Agregar destinatarios al grupo .

    
respondido por el Daniel 23.03.2012 - 18:58

Lea otras preguntas en las etiquetas