如何针对其他商店运行规则?

时间:2017-01-13 12:16:41

标签: vba outlook outlook-vba outlook-2010

如何针对其他商店运行规则?

我可以访问我的规则并使用...

从默认商店执行它们
Set storeRules = Application.Session.DefaultStore.GetRules()
For Each storeRule In storeRules
    If storeRule.name = name Then
        storeRule.Execute ShowProgress:=True
    End If
Next

但我无法看到如何对共享帐户使用规则。

我可以手动浏览Outlook客户端,“立即运行规则”,然后在“运行文件夹”浏览器中选择正确的文件夹

更新

尝试遍历我的所有商店,我有三家商店。 ExchangeStoreType是一个0主Exchange邮箱,一个2 - Exchange公用文件夹(PF?)和一个1 - Exchange委托邮箱。我正在尝试在最后一个上运行规则,但委托文件夹上的.GetRules找不到任何规则

Sub RunTest()
Dim storeRules As Outlook.Rules
Dim storeRule As Outlook.Rule
Dim allStores As Outlook.stores
Dim myStore As Outlook.Store

Set allStores = Application.Session.stores
For Each myStore In allStores
    On Error Resume Next
    Debug.Print myStore.DisplayName & "  " & myStore.ExchangeStoreType
    Set storeRules = myStore.GetRules()
    For Each storeRule In storeRules
        Debug.Print "... store: " & storeRule.name
    Next
Next
End Sub

但是,如果我浏览Outlook UI并选择该商店

,我可以运行规则

1 个答案:

答案 0 :(得分:1)

不使用Application.Session.DefaultStore,而是使用Application.Session.Stores集合来访问相关商店。