C'è qualcosa come le macro in Outlook 2016 su Mac?

1

In Outlook su Windows ho uno script VBA che sposta uno o più messaggi da Inbox in una cartella, collegato a una scorciatoia da tastiera che uso per spostare molto velocemente centinaia di e-mail dove li voglio ogni giorno.

Esiste qualche funzione simile in Outlook su Mac? Non sono sicuro di come esprimere la domanda, non voglio essere troppo ristretto chiedendo "Esiste VBA e macro in Outlook su Mac" quando ovviamente non c'è, ma c'è un altro modo per affrontare questo problema, automatizzare le cose e assegnare scorciatoie da tastiera alle attività personalizzate?

Modifica: un commento citato Applescript. (Sono un novizio per Mac). Ho quindi trovato questo articolo su abilitando l'icona di Applescript e questo articolo sull'utilizzo di Applescript per creare un'attività da un messaggio. Non è esattamente quello che voglio, ma è un enorme passo in avanti. Ora studiò l'uso di Applescript e Outlook e, se dovessi arrivare da qualche parte, risponderei alla mia domanda.

    
posta jay613 04.09.2018 - 21:30
fonte

1 risposta

0

Ecco un modo in Outlook 2016 su Mac per fare l'equivalente di Windows "Scrivi uno script VB e assegnalo a una chiave". Grazie a coloro che mi hanno indirizzato nella giusta direzione. Su Mac questo è fatto con Applescript, Automator e Scorciatoie da tastiera. Sto includendo l'Applescript qui che sposta le e-mail di Outlook selezionate in una cartella di archivio. Di seguito è riportato anche il VBA originale che stavo cercando di emulare su Mac.

Passaggio 1 - Scrivi Applescript per spostare l'elemento di Outlook selezionato in Archivia

  • Premi Comando-Tab per avviare Spotlight Search, digita "Script Editor" su avviarlo.
  • Opzionale: installa un collegamento all'editor di script nel file Menu Apple come segue. Devi prima essere nell'editor degli script, quindi nel menu in alto scegli Script Editor- > Preferenze. Poi nelle preferenze scegli Generale, quindi seleziona (attiva) "Mostra menu Script nella barra dei menu "e anche" Mostra script di computer ".
  • Inizia con il seguente script. Eseguilo, testalo, giocaci. Cerca altrove aiuto su come cambiarlo per fare esattamente quello che vuoi. Questo script sposta le email attualmente selezionate in una cartella denominata "IZ - Archive". Cambia il nome della cartella per adattarti. C'è molto spazio per migliorare qui. Mi piacerebbe risolvere il problema dei promemoria.

    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
    

Passaggio 2 - Assegna l'Applescript a un servizio utilizzando Automator

  • Premi Comando-Tab per avviare la ricerca Spotlight, da lì il lancio Automator
  • In Automator, scegli un tipo per il tuo documento, scegli "Servizio". Creerai un servizio dal tuo script.
  • Nella parte superiore del servizio, imposta le due impostazioni su: Il servizio non riceve input in nessuna applicazione Dal pannello di sinistra, scegli Libreria, quindi nel secondo pannello dall'elenco lungo trova "Esegui Applescript" e trascinalo in la finestra di servizio principale.
  • Copia e incolla la sostituzione di Applescript (* Lo script va qui *)

  • Salva il servizio, dandogli un nome come MoveSelectedOutlookMailToArchive. Non è ovvio come "Salva come" in Automator. Gioca con il menu "File" nella parte superiore dello schermo e fai qualche ricerca su google.

  • Il servizio verrà salvato in ~ / Libreria / Servizi / nomeutente

Passaggio 3 - Assegna il servizio a una chiave

  • Vai a Scorciatoie da tastiera dal menu di Outlook- > Outlook- > Servizi- > Preferenze Servizi o da Preferenze di Sistema- > Tastiere- > Collegamenti- > Servizi
  • Nell'editor Scorciatoie da tastiera seleziona "Servizi" a sinistra, quindi vai in fondo alla sezione "Generale" dove troverai il nuovo servizio.
  • Fai clic su di esso e assegna la scorciatoia da tastiera che desideri.

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

Per riferimento e confronto ecco lo script VBA originale che stavo cercando di emulare su Mac. Come puoi vedere, l'Applescript è più conciso e intuitivo, d'altra parte il meccanismo per assegnarlo a un tasto (non mostrato qui) è SEMPRE più facile su 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
    
risposta data 18.09.2018 - 18:34
fonte

Leggi altre domande sui tag