¿Hay algo así como macros en Outlook 2016 en Mac?

1

En Outlook en Windows tengo una secuencia de comandos de VBA que mueve uno o más mensajes de la Bandeja de entrada a una carpeta, unida a un atajo de teclado que uso para mover rápidamente cientos de correos electrónicos a donde los quiero todos los días.

¿Hay alguna característica como esa en Outlook en Mac? No estoy seguro de cómo formular la pregunta, no quiero ser demasiado estrecho al preguntar "¿Hay VBA y Macros en Outlook en Mac" cuando obviamente no hay, pero hay alguna otra manera de abordar este problema? ¿Automatizar cosas y asignar atajos de teclado a tareas personalizadas?

Edit: Un comentario mencionado Applescript. (Soy un novato para Mac). Luego encontré este artículo en habilitar el ícono de Apple y este artículo sobre el uso de Applescript para crear una tarea a partir de un mensaje. Eso no es exactamente lo que quiero, pero es un GRAN paso adelante. Ahora estudiaré el uso de Apple y Outlook, y si llego a alguna parte, responderé mi propia pregunta.

    
pregunta jay613 04.09.2018 - 21:30

1 respuesta

0

Aquí en Outlook 2016 en Mac, hay una forma de hacer el equivalente de Windows "Escribir un script VB y asignarlo a una tecla". Gracias a quienes me apuntaron en la dirección correcta. En Mac, esto se hace con los métodos abreviados de Apple, Automator y teclado. Incluyo el código Apple aquí que mueve los correos electrónicos de Outlook seleccionados a una carpeta de archivo. También se muestra a continuación como referencia el VBA original que intentaba emular en Mac.

Paso 1 : escriba Applescript para mover el elemento de Outlook seleccionado a Archivar

  • Presione la tecla Comando para iniciar la búsqueda de Spotlight, escriba "Script Editor" para lanzarlo.
  • Opcional: instale un acceso directo al editor de scripts en el Menú de Apple de la siguiente manera. Tienes que estar en el editor de scripts primero, luego, en el menú de la parte superior, seleccione Editor de secuencias de comandos - > Preferencias. Entonces en preferencias, seleccione General y marque (habilitar) el menú "Mostrar secuencia de comandos" en la barra de menú "y también" Mostrar guiones de computadora ".
  • Comience con el siguiente script. Ejecútalo, pruébalo, juega con él. Busque ayuda en otro lugar para cambiar esto y hacer exactamente lo que quiere. Esta secuencia de comandos mueve los correos electrónicos seleccionados actualmente a una carpeta llamada "IZ - Archive". Cambia el nombre de la carpeta a tu gusto. Hay mucho espacio para mejorar aquí. Me gustaría resolver el problema de los recordatorios.

    tell application "Microsoft Outlook"
        -- get the currently selected message or messages
        -- NOTE in this version it fails if the Outlook Reminder window is open, even if you select a message in the main window.
        set selectedMessages to current messages
    
        -- if there are no messages selected, warn the user and then quit
        if selectedMessages is {} then
            display dialog "Please select a message first and then run this script." with icon 1
            return
        end if
    
        set aMessage to item 1 of selectedMessages
        set emailAcct to account of aMessage
        set inBoxFolder to folder "Inbox" of emailAcct
        set ArchiveFolder to folder "IZ - Archive" of inbox
    
        repeat with theMessage in selectedMessages
            move theMessage to IZArchiveFolder
        end repeat
    end tell
    

Paso 2 - Asigna el Applescript a un servicio usando Automator

  • Presiona la tecla Comando para iniciar Spotlight Search, desde allí inicia Automator
  • En Automator, elija un tipo para su documento, elija "Servicio". Va a crear un servicio de su script.
  • En la parte superior del servicio, establezca las dos configuraciones en: El servicio no recibe ninguna entrada en ninguna aplicación. En el panel izquierdo, elija Biblioteca, luego en el segundo panel de la lista larga, busque "Ejecutar AppleScript", y arrástrelo hacia La ventana de servicio principal.
  • Copia y pega el reemplazo de tu Applescript (* Tu script va aquí *)

  • Guarde el servicio y asígnele un nombre como MoveSelectedOutlookMailToArchive. No es obvio cómo "Guardar como" en Automator. Juega un poco con el menú “Archivo” en la parte superior de la pantalla y haz un poco de google.

  • El servicio se guardará en ~ / Library / Services / yourservicename

Paso 3 : asigne el servicio a una clave

  • Vaya a Accesos directos del teclado desde el menú de Outlook - > Outlook - > Servicios- > Preferencias de los servicios o desde Preferencias del sistema- > Teclado- > Accesos directos- > Servicios
  • En el editor de métodos abreviados de teclado, seleccione “Servicios” a la izquierda, luego vaya a la parte inferior debajo de la sección “General”, donde encontrará su nuevo servicio.
  • Haz clic en eso y asigna el método abreviado de teclado que deseas.

============

Para referencias y comparaciones aquí está el script VBA original que estaba tratando de emular en Mac. Como puede ver, el Applescript es más conciso e intuitivo, por otro lado, el mecanismo para asignarlo a una clave (que no se muestra aquí) es mucho más fácil en la PC.

'Outlook VB Macro to move selected mail item(s) to a target folder
Sub MoveToIZArchive()
On Error Resume Next

Dim ns As Outlook.NameSpace
Dim moveToFolder As Outlook.MAPIFolder
Dim objItem As Outlook.MailItem

Set ns = Application.GetNamespace("MAPI")

'Define path to the target folder
Set moveToFolder = ns.GetDefaultFolder(olFolderInbox).Folders("IZ - Archive")

If Application.ActiveExplorer.Selection.Count = 0 Then
   MsgBox ("No item selected")
   Exit Sub
End If

If moveToFolder Is Nothing Then
   MsgBox "Target folder not found!", vbOKOnly + vbExclamation, "Move Macro Error"
End If

For Each objItem In Application.ActiveExplorer.Selection
   If moveToFolder.DefaultItemType = olMailItem Then
      If objItem.Class = olMail Then
         'objItem.UnRead = False
         objItem.Move moveToFolder
      End If
  End If
Next

Set objItem = Nothing
Set moveToFolder = Nothing
Set ns = Nothing

End Sub
    
respondido por el jay613 18.09.2018 - 18:34

Lea otras preguntas en las etiquetas