Nach den Blogeinträgen
bin ich mehrfach gefragt worden, wie man Regeln in bestimmten Ordnern ausführen kann. Das heißt, es geht nicht um durch Microsoft vordefinierte Ordner, sondern beliebige, die von Endanwendern definiert werden. Es funktioniert so:
Sub RunAllRules() Dim outlookStore As Outlook.Store Dim allRules As Outlook.Rules Dim actualRule As Outlook.Rule Dim resultFolder As Folder Set outlookStore = Application.Session.DefaultStore Set allRules = outlookStore.GetRules Set resultFolder = GetFolderByName( _ rootFolder:=OlDefaultFolders.olFolderInbox, folderName:="Test") For Each actualRule In allRules If actualRule.RuleType = olRuleReceive Then actualRule.Execute _ ShowProgress:=False, _ Folder:=Application.Session.GetFolderFromID(EntryIDFolder:=resultFolder.EntryID), _ IncludeSubfolders:=False, _ RuleExecuteOption:=OlRuleExecuteOption.olRuleExecuteAllMessages End If Next Set outlookStore = Nothing Set allRules = Nothing Set actualRule = Nothing End Sub Function GetFolderByName(rootFolder As OlDefaultFolders, folderName As String) As Folder Dim folders As folders Dim actualFolder As Folder Set folders = Application.Session.GetDefaultFolder(rootFolder).folders For Each actualFolder In folders If actualFolder.Name = folderName Then Set GetFolderByName = actualFolder Exit Function End If Next End Function
Set resultFolder = GetFolderByName( _ rootFolder:=OlDefaultFolders.olFolderInbox, folderName:="Test")
der Ordner angegeben werden unter dem der jeweilige Ordner liegt als auch sein Name.
In der nachfolgenden Abbildung wird dieses gut ersichtlich. Hier befindet sich der Ordner Test unterhalb von Posteingang (olFolderInbox) und heißt eben "Test". Mit dem obigen Anwendungscode werden dann alle definierten Regeln in diesem Ordner ausgeführt. Non scholae, set vitae discimus.
Remember Me
a@href@title, b, blockquote@cite, em, i, strike, strong, sub, sup, u