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

2

En Outlook en Windows tengo un script VBA que mueve uno o más mensajes de la bandeja de entrada a una carpeta, adjunto 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?

Edición: Un comentario mencionado de Apple. (Soy un novato para Mac). Entonces encontré Este artículo en la habilitación del icono 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.

jay613
fuente
Sé que Outlook es compatible con Applescript, pero supongo que es bastante limitado en sus utilidades. También soporta VBA parece: datanumen.com/blogs/run-vba-code-outlook
Steve Chambers
El artículo datanumen es sobre Windows. Mire Applescript, gracias por sugerirlo.
jay613
En primer lugar, bienvenido a Ask Different! :) Espero que vengan a encontrar este sitio como un recurso valioso. Desafortunadamente, tanto Outlook como OneNote no son compatibles con VBA en Mac (aunque Excel, PowerPoint y Word sí). Dado que realmente solo desea mover los mensajes de su bandeja de entrada a una carpeta, ¿hay alguna razón por la que la configuración de una regla (o reglas) no satisfaga sus necesidades? Lo pregunto porque puede ayudar a aclarar más tu pregunta.
Monomeeth
@Monomeeth el objetivo es mover cientos de correos electrónicos (diariamente) a las carpetas usando los atajos de teclado, porque es mucho más rápido, más fácil y menos propenso a errores de hacerlo que si los arrastra con el mouse. Tengo reglas que hacen esto también, pero este requisito es para aquellos correos electrónicos que no son tratados por las reglas. Es una tarea humana, y las secuencias de comandos y los métodos abreviados de teclado hacen que sea un orden de magnitud más fácil.
jay613

Respuestas:

0

Aquí en Outlook 2016 en Mac, hay una manera 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 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 - Escribir 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 script 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 - & gt; Preferencias. Entonces En las preferencias, elija General y marque (habilitar) el menú "Mostrar guión" 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 - Asignar el Applescript a un servicio usando Automator

  • Presiona la tecla Comando para iniciar la búsqueda de Spotlight, desde allí inicia Automatizador
  • En Automator, elija un tipo para su documento, elija "Servicio". Va a crear un servicio desde 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 al servicio principal ventana.
  • Copie y pegue su reemplazo de Apple (* Su 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 ~ / Biblioteca / Servicios / nombre de usuario

Paso 3 - Asignar el servicio a una clave

  • Ve a Accesos directos del teclado desde el menú de Outlook - & gt; Outlook - & gt; Servicios- & gt; Preferencias de los servicios o desde Preferencias del sistema- & gt; Teclado- & gt; Accesos directos- & gt;
  • En el editor de métodos abreviados de teclado, seleccione "Servicios" a la izquierda, luego vaya a la parte inferior en la sección "General", donde encontrará su nuevo servicio.
  • Haga clic en eso y asigne el método abreviado de teclado que desee.

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

Para referencia y comparación 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 tecla (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
jay613
fuente
1
Usted dijo: "El servicio se guardará en / Library / Services /", que no es la ubicación correcta, se guardan en /Users/$USER/Library/Services/ o para abreviar: ~/Library/Services/
user3439894