Arka fon
Outlook 2010'un e-postaları otomatik olarak kişinin adıyla belirtilen klasörlere taşımasını istiyorum . Örneğin:
- Kurallara tıklayın
- Kuralları ve Uyarıları Yönet'i tıklayın.
- Yeni Kural tıklayın
- "İletileri birinden bir klasöre taşı" seçeneğini seçin.
- Sonrakine tıkla
Aşağıdaki iletişim kutusu gösterilir:
Sorun
Bir sonraki kısım genellikle şu şekilde görünür:
- Click
people or public group
- İstediğiniz kişiyi seçin
- Click
specified
- İstediğiniz klasörü seçin
Soru
Bu sorunlu manuel görevleri nasıl otomatikleştirirsiniz? İşte oluşturmak istediğim yeni kuralın mantığı:
- Yeni bir mesaj al.
- Gönderenin adını çıkartın.
- Yoksa, Gelen Kutusu altında yeni bir klasör oluşturun.
- Yeni mesajı, o kişinin adına atanmış klasöre taşıyın.
Bunun bir VBA makrosu gerektireceğini düşünüyorum.
İlgili Bağlantılar
- http://www.experts-exchange.com/Software/Office_Productivity/Groupware/Outlook/A_420-Extending-Outlook-Rules-via-Scripting.html
- http://msdn.microsoft.com/en-us/library/office/ee814735.aspx
- http://msdn.microsoft.com/en-us/library/office/ee814736.aspx
- https://stackoverflow.com/questions/11263483/how-do-i-trigger-a-macro-to-run-after-a-new-mail-is-received-in-outlook
- http://en.kioskea.net/faq/6174-outlook-a-macro-to-create-folders
- http://blogs.iis.net/robert_mcmurray/archive/2010/02/25/outlook-macros-part-1-moving-emails-into-personal-folders.aspx
Güncelleme # 1
Kod şöyle bir şeye benzeyebilir:
Public WithEvents myOlApp As Outlook.Application
Sub Initialize_handler()
Set myOlApp = CreateObject("Outlook.Application")
End Sub
Private Sub myOlApp_NewMail()
Dim myInbox As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Set myInbox = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set mySenderName = myItem.SenderName
On Error GoTo ErrorHandler
Set myDestinationFolder = myInbox.Folders.Add(mySenderName, olFolderInbox)
Set myItems = myInbox.Items
Set myItem = myItems.Find("[SenderName] = " & mySenderName)
myItem.Move myDestinationFolder
ErrorHandler:
Resume Next
End Sub
Güncelleme # 2
Kodu aşağıdaki gibi bölün:
Bir test mesajı gönderdi ve hiçbir şey olmadı. Yeni bir mesaj geldiğinde mesajı gerçekten tetikleme hakkındaki talimatlar ayrıntılara biraz ışık tutar (örneğin, ThisOutlookSession
nasıl bahsedileceğine ve nasıl kullanılacağına değinilmez ).
Teşekkür ederim.