İşte Mac'te Outlook 2016'da Windows "Bir VB komut dosyası yazıp bir anahtara atama" eşdeğerini yapmanın bir yoludur. Beni doğru yöne işaret edenlere teşekkür ederim. Mac'te bu Applescript, Automator ve Keyboard Shortcuts ile yapılır. Seçili Outlook e-postalarını bir arşiv klasörüne taşıyan Applescript'i buraya ekliyorum. Ayrıca referans olarak aşağıda gösterilmiştir, Mac'te taklit etmeye çalıştığım orijinal VBA.
Adım 1 - Seçilen Outlook öğesini Arşive taşımak için Uygulama Yazma
- Spotlight Search'ü başlatmak için Command-Tab tuşuna basın, başlatmak için “Script Editor” yazın.
- İsteğe bağlı: Aşağıdaki şekilde Apple menüsündeki script editörüne bir kısayol kurun. Önce script editöründe olmalısınız, daha sonra üstteki menüde Script Editor-> Preferences'i seçin. Ardından, tercihlerde Genel'i seçin ve “Menü çubuğunda Komut Dosyası menüsünü göster” ve ayrıca “Bilgisayar komut dosyalarını göster” seçeneğini işaretleyin.
Aşağıdaki komut dosyası ile başlayın. Koş, test et, onunla oyna. Bunu istediğiniz gibi yapmak için bunu değiştirmekle ilgili yardım almak için başka bir yere bakın. Bu komut dosyası seçili olan e-postaları “İZ Arşiv” adlı bir klasöre taşır. Klasör adını kendinize göre değiştirin. Burada iyileştirme için çok yer var. Hatırlatıcılar problemini çözmek istiyorum.
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
Adım 2 - Appmacript'i Automator kullanarak bir servise atayın
- Spotlight Search'ü başlatmak için Command-Tab tuşlarına basın, oradan Automator'u başlatın
- Otomatikleştirici'de belgeniz için bir tür seçin, “Hizmet” seçeneğini seçin. Komut dosyanızdan bir hizmet oluşturacaksınız.
- Servisin en üstünde, iki ayarı aşağıdaki gibi yapın: Servis, herhangi bir uygulamada giriş almaz. Sol panelde, Kitaplık'ı seçin, ardından uzun listeden ikinci panelde “Applescript'i Çalıştır” ı bulun ve bunu ana servise sürükleyin. penceresi.
Applescript'inizi kopyalayıp yapıştırın (* Komut dosyanız buraya gidiyor *)
Servisi kaydedin, MoveSelectedOutlookMailToArchive gibi bir ad vererek. Automator'da “Farklı Kaydet” seçeneğinin nasıl olduğu açık değil. Ekranın üstündeki “Dosya” menüsü ile oynayın ve biraz googling yapın.
- Bu servis ~ / Library / Services / yourservicename altına kaydedilir.
Adım 3 - Hizmeti bir anahtara atama
- Outlook Menü-> Outlook-> Hizmetler-> Hizmetler Tercihleri'nden veya Sistem Tercihleri-> Klavye-> Kısayollar-> Servisler'den Klavye Kısayolları'na gidin.
- Klavye Kısayolları editöründe soldaki “Servisler” i seçin, ardından yeni servisinizi bulacağınız “Genel” bölümünün altına gidin.
- Buna tıklayın ve istediğiniz klavye kısayolunu atayın.
============
Burada referans ve karşılaştırma yapmak için Mac'te öykünmeye çalıştığım orijinal VBA betiği var. Gördüğünüz gibi, Applescript daha özlü ve sezgiseldir, öte yandan bir anahtara (burada gösterilmemiştir) atanma mekanizması PC'de WAY daha kolaydır.
'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