Aynı şeyi, az ya da çok yapmak istedim. Gelen kutuma vurur vurmaz kuralları kullanarak dosya gönderdiğim e-postalar var - onlara bakmıyorum bile. O zaman görmem ve okumam gereken başkaları da var, fakat bir kez yaptığımda bunları hızlı bir şekilde dosyalama kuralım olabilir. Outlook'taki kurallar sisteminin başarısız olduğu yer burasıdır. Yalnızca yeni öğelerde olur, bu nedenle Exchange sunucusu bunu kendi başına yapabilir. Bu yüzden okuma mesajlarını doğru klasöre sürükleyerek çok fazla zaman harcıyorum - ve bunlardan birkaç yüz var.
Temel adımlarla uyguladım:
- "Otomatik dosya" adlı bir kategori oluşturuldu.
- Ölçütlerin bir parçası olarak "Otomatik Dosya" kategorisini kontrol eden kurallar yazdı.
Fileit:
Bunların, kategoriye dayalı kurallar olduğunu göstermek için onları adına kaydetti (diğer kurallarımın aksine gecikmeli eylem).
- Seçili posta öğelerini bu kategoriye ayarlayan, bunları okundu olarak işaretleyen, sonra kuralları ile başlayan kural adlarını çalıştıran bir makro (aşağıda) yazdı
Fileit
.
- Bu makroyu çalıştırmak için ana araç çubuğuma bir düğme eklendi.
Şimdi, gelen kutuma okuduğum şeyleri dosyalamak için, onu seçip düğmeye basıyorum ve hepsi benim Fileit
kurallarım temelinde sihirle gider . Kategoriyi başka türlü kullanmıyorum, bu yüzden benim için çalışıyor. Ayrıca kategori ayarının (artı olarak kabul edilebileceği) kaldığını unutmayın. Zaten çok fazla kategori kullanıyorsanız, bu çok iyi çalışmaz. Bunun, kuralı "Yalnızca müşteri" kuralına dönüştürdüğünü unutmayın (kategori biti budur), bu temel olarak Exchange'in sizin için çalıştıramayacağı anlamına gelir - sorun değil, ancak kaydettiğinizde sizi uyarır kural. Kod bir şey değil ve birkaç dakika içinde neredeyse kesinlikle kendiniz yapabilirsiniz, ancak isterseniz kopyala / yapıştır için buraya veririm.
Sub myFileItMacro()
' 2015-06-24 SWB First attempt to automate Outlook filing
' Note that Outlook 2013 does not have a macro recorder, which doesn't help.
Dim myItem As Outlook.MailItem
Dim intItemCount As Integer
Dim myRules As Outlook.Rules
Dim myRule As Outlook.Rule
Dim intLoop As Integer
' Used to set category of more than one item ...
intItemCount = Application.ActiveExplorer.Selection.Count
If intItemCount > 0 Then ' ... and to check at least one is selected
' Next, assign it to the category. This should be set up beforehand.
For intLoop = 1 To intItemCount
' This could throw an error if there is nothing selected, presumably.
Set myItem = Application.ActiveExplorer.Selection.Item(intLoop)
myItem.Categories = "Auto-file"
myItem.UnRead = False ' Flag as read
' You should be able to see this in the category column once this line runs.
myItem.Save
Next
' Lastly, run the rules on the inbox, although, it would be even better
' to run rules just on this item. Hmmm
' You have to do this by going through the rules.
Set myRules = Application.Session.DefaultStore.GetRules
For Each myRule In myRules
' Execute only rules named starting with "Fileit".
' These have the category filter.
If Left(myRule.Name, 6) = "Fileit" Then
myRule.Execute (False)
End If
Next
End If
End Sub
İkinci cevaptan eklendi.
Outlook 2010 ve 2013'te (veya isterseniz 365) "Hızlı Adımlar" bulunduğunu belirtmeyi unuttum. Bu tür bir otomatik dosya düğmesi ayarlamanıza izin verir. Bunlarla ilgili sorunum kural başına bir tane ayarlamanız gerektiğidir. 50 klasöre dosyalamak istediğim 50 şeye sahipsem, 50 quicksteps'e ihtiyacım var ve bu tür e-postaları sağ (sub) klasöre sürükleyerek doğru quickstep'i bulmak için harcayacağınız amacı atlatıyor. Burada yanlış olabilirim ve lütfen beni düzeltirsem, ama bu benim anlayışım.
Yukarıdaki kodun avantajı, şeridinizde bir dizi farklı kural uygulamak için bastığınız ONE düğmesine sahip olmanızdır; birden fazla öğe seçilse bile, her birine doğru kural uygulanır. Bulduğum tek dezavantaj, bir kural belirlemezsem (bir süre sonra hepsini hatırlamak zor, bir evim ve iş bilgisayarım vesaire) kategoriyi belirleyecek ve e-postanın hareket etmeyeceğidir. Önemli bir şey değil. Oh, makroların çalışmasına izin vermelisin çünkü açıkça kötüler.
Orijinal posterin 2011'de geri döndüğünü biliyorum, muhtemelen bunların hepsini tamamen unutmuşlar, ancak soru aslında hala geçerli ve büyük internet üzerinden büyük ölçüde cevapsız, bu yüzden katkıda bulunacağımı düşündüm! Bu, Outlook'un kullanılabilirliğinin gerçekten eksik olduğunu düşündüğüm bir alan ve hepsinin "Mesaj geldikten sonra bu kuralı uygula" olan kuralların ilk bölümüne iniyor. Bunu "Bir düğmeye bastığımda bu kuralı uygula" ya da benzeri bir şeyle değiştirebilirseniz, koduma ihtiyacınız olmaz. En azından bir kategoriye dayalı olacak şekilde bir kural belirleyebilirsiniz, bu yüzden yukarıdaki kod çalışır.