1 votos

Secuencia de comandos que crea un buzón (carpeta) con base en el asunto del correo

Me adoptar la bandeja de entrada cero de enfoque, lo que significa que quiero mantener mi bandeja de entrada como casi vacía como sea posible.

Para lograr esto, necesito para archivar los correos rápidamente. El mejor método que he encontrado es para escribir un guión que, cuando hago clic en un correo electrónico, el script crea una nueva carpeta basado en el asunto del correo electrónico y, a continuación, mover este mensaje a esta carpeta.

Esto funcionó perfectamente en Microsoft Outlook en Windows.

Ahora me cambié puestos de trabajo y la estoy usando un Mac. ¿Alguien sabe cómo conseguir un resultado similar usando el Correo?

Muchas gracias de antemano.

Para su referencia, aquí está el script que he usado en Windows:

Sub folderCreation()

    Dim o_App As Object
    Dim obj_NameSpace As NameSpace
    Dim obj_folder As Folder
    Dim obj_NewFolder As Folder
    Dim obj_mail As MailItem
    Dim s_Subject As String
    Dim s_Date As Date

    Set o_App = Application
    If Application.ActiveExplorer.Selection.Count = 0 Then
        MsgBox "No item was selected!"
        Exit Sub
    End If

    Set obj_NameSpace = o_App.GetNamespace("MAPI")
    Set obj_folder = obj_NameSpace.PickFolder    

    If obj_folder Is Nothing Then
        MsgBox "You did not make a selection"
        Exit Sub
    End If

    For Each obj_mail In Application.ActiveExplorer.Selection
        s_Subject = obj_mail.Subject
        s_Date = obj_mail.ReceivedTime
        Set obj_NewFolder = obj_folder.Folders.Add(Format(s_Date, "yyyy.mm.dd / ") & s_Subject)
        obj_mail.Move obj_NewFolder
    Next obj_mail   
End Sub

2voto

Yo era capaz de conseguir la ayuda de la oficial de Apple en los Debates del foro, gracias a Barney15-E. he Aquí la respuesta:

Con el fin de desencadenar con un acceso directo, usted necesita para crear un Automator Acción Rápida. Dentro de que la Acción Rápida puede ejecutar este script:

tell application "Mail"
    set selectedMessages to selection
    set mailboxName to subject of item 1 of selectedMessages
    set messageAccount to account of (mailbox of item 1 of selectedMessages)
    set newMailbox to make new mailbox at (end of mailboxes of messageAccount) with properties {name:mailboxName}
    repeat with eachMessage in selectedMessages
        set mailbox of eachMessage to newMailbox
    end repeat
end tell

Para crear la Acción Rápida de abrir Automator. Seleccione la Acción Rápida del tipo de documento de selección. Establecer la Acción Rápida de No aceptar ninguna Entrada en el Correo. Establecer la Imagen y el Color que desee. Arrastre un "Ejecutar AppleScript" acción en el área de flujo de trabajo. Reemplazar todo lo que entre en ejecución/fin de ejecutar las instrucciones con la secuencia de comandos anterior. Guardar la Acción Rápida con un nombre adecuado.

Para dar a la Acción Rápida de un acceso directo, abrir el Teclado de Preferencias del Sistema. Haga clic en la pestaña accesos directos. Seleccione Servicios de la lista. Encontrar su Rápida Acción (probablemente en General). Agregar el acceso directo deseado.

Si desea presentar cada mensaje seleccionado en su propia carpeta, utilice este script en su lugar:

tell application "Mail"
    set selectedMessages to selection
    repeat with eachMessage in selectedMessages
        set mailboxName to subject of eachMessage
        set messageAccount to account of (mailbox of eachMessage)
        set newMailbox to make new mailbox at (end of mailboxes of messageAccount) with properties {name:mailboxName}
        set mailbox of eachMessage to newMailbox
    end repeat
end tell

Si quieres una versión que comprueba la existencia de al menos un mensaje seleccionado, utilice esto:

tell application "Mail"
    set selectedMessages to selection
    if selectedMessages is not {} then
        set mailboxName to subject of item 1 of selectedMessages
        set messageAccount to account of (mailbox of item 1 of selectedMessages)
        set newMailbox to make new mailbox at (end of mailboxes of messageAccount) with properties {name:mailboxName}
        repeat with eachMessage in selectedMessages
            set mailbox of eachMessage to newMailbox
        end repeat
    else 
        display dialog "You did not select a message."
    end if
end tell

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