Existe algo como macros no Outlook 2016 no Mac?

2

No Outlook no Windows, tenho um script VBA que move uma ou mais mensagens da Caixa de Entrada para uma pasta, anexada a um atalho de teclado que uso para mover rapidamente centenas de emails para onde eu os desejo todos os dias.

Existe algum recurso como esse no Outlook no Mac? Eu não tenho certeza de como colocar a pergunta, eu não quero ser muito estreito, perguntando "Existe VBA e Macros no Outlook no Mac" quando, obviamente, não há, mas existe alguma outra maneira de abordar este problema, automatizando coisas e atribuindo atalhos de teclado para tarefas personalizadas?

Edit: Um comentário mencionado Applescript. (Eu sou um novato no Mac). Eu então encontrei Este artigo ao ativar o ícone do Applescript e Este artigo sobre o uso do Applescript para criar uma tarefa a partir de uma mensagem. Isso não é exatamente o que eu quero, mas é um grande passo em frente. Agora vou estudar o uso do Apipscript e do Outlook e, se chegar a algum lugar, responderei a minha própria pergunta.

jay613
fonte
Eu sei que o Outlook suporta Applescript, mas percebo que é bastante limitado em seus utilitários. Ele também suporta VBA parece: datanumen.com/blogs/run-vba-code-outlook
Steve Chambers
O artigo do datanumen é sobre o Windows. Eu vou olhar para o Applescript, obrigado por sugerir isso.
jay613
Em primeiro lugar, seja bem-vindo ao Ask Different! :) Espero que você venha a encontrar este site para ser um recurso valioso. Infelizmente, o Outlook e o OneNote não oferecem suporte ao VBA no Mac (embora o Excel, o PowerPoint e o Word funcionem). Já que você está apenas querendo mover as mensagens da sua caixa de entrada para uma pasta, há uma razão pela qual a configuração de uma regra (ou regras) não atenderá às suas necessidades? Eu pergunto porque isso pode ajudar a esclarecer sua dúvida.
Monomeeth
@ Monomeeth o objetivo é mover centenas de e-mails (diários) para pastas usando atalhos de teclado, porque é muito mais rápido, fácil e menos propenso a erros do que arrastando-os com o mouse. Eu tenho regras que fazem isso também, mas esse requisito é para aqueles emails que não são tratados por regras. É uma tarefa humana, e os scripts e atalhos de teclado facilitam uma ordem de grandeza.
jay613

Respostas:

0

Aqui está uma maneira no Outlook 2016 no Mac para fazer o equivalente do Windows "Escrever um script VB e atribuí-lo a uma chave". Obrigado àqueles que me apontaram na direção certa. No Mac, isso é feito com o Applescript, o Automator e os atalhos de teclado. Eu estou incluindo o Applescript aqui que move e-mails selecionados do Outlook para uma pasta de arquivo. Também é mostrado abaixo para referência o VBA original que eu estava tentando imitar no Mac.

Passo 1 - Escreva o Applescript para mover o item selecionado do Outlook para o arquivo morto.

  • Pressione Command-Tab para iniciar a Pesquisa do Spotlight, digite “Script Editor” para lançá-lo.
  • Opcional: Instale um atalho para o editor de script no Menu Apple da seguinte forma. Você tem que estar no editor de script primeiro, em seguida, no menu na parte superior, escolha Editor de script- & gt; Preferências. Então nas preferências, escolha Geral e marque (ative) “Mostrar menu de script na barra de menus ”e também“ Mostrar scripts de computador ”.
  • Comece com o seguinte script. Corra, teste, brinque com isso. Procure outro lugar para ajudar a mudar isso para fazer exatamente o que você quer. Este script move o (s) email (s) atualmente selecionado (s) para uma pasta chamada “IZ - Archive”. Altere o nome da pasta para se adequar a você. Há muito espaço para melhorias aqui. Eu gostaria de resolver o problema dos Lembretes.

    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
    

Passo 2 - Atribuir o Applescript para um serviço usando o Automator

  • Pressione Command-Tab para iniciar a Pesquisa do Spotlight, a partir de lá Automator
  • No Automator, escolha um tipo para o seu documento, escolha "Serviço". Você criará um serviço a partir do seu script.
  • Na parte superior do serviço, defina as duas configurações como: Serviço não recebe entrada em nenhum aplicativo No painel esquerdo, escolha Biblioteca e, no segundo painel da lista longa, encontre “Executar Applescript” e arraste para o serviço principal. janela.
  • Copie e cole seu Applescript substituindo (* Seu script vai aqui *)

  • Salve o serviço, dando a ele um nome como MoveSelectedOutlookMailToArchive. Não é óbvio como "Salvar como" no Automator. Brinque com o menu "Arquivo" na parte superior da tela e faça algumas pesquisas.

  • O serviço será salvo em ~ / Library / Services / seu nome de serviço

etapa 3 - Atribuir o serviço a uma chave

  • Vá para atalhos de teclado no menu Outlook - & gt; Outlook - & gt; Serviços - & gt; Preferências de serviços ou em Preferências do sistema - & gt; Teclado - & gt; Atalhos - & gt; Serviços
  • No editor de atalhos de teclado, escolha "Serviços" à esquerda e, em seguida, vá para a parte inferior da seção "Geral", onde você encontrará seu novo serviço.
  • Clique nele e atribua o atalho de teclado que você deseja.

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

Para referência e comparação, aqui está o script VBA original que eu estava tentando imitar no Mac. Como você pode ver, o Applescript é mais conciso e intuitivo, por outro lado, o mecanismo para atribuí-lo a uma chave (não mostrado aqui) é muito mais fácil no 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
fonte
1
Você disse: "O serviço será salvo em / Biblioteca / Serviços /", que não é o local correto, eles são salvos em /Users/$USER/Library/Services/ ou para breve: ~/Library/Services/
user3439894