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