我目前已將 Outlook 設定為 Gmail。我定義了一些規則,它們在我的帳戶中的不同資料夾(標籤)上運行。我已經在 GMail 中設定了過濾器,這將使電子郵件跳過收件匣並將它們放入相應的資料夾中。
每當我收到新電子郵件時,在這些資料夾中,我的規則都不會運行(它們僅用於設定類別)。我必須手動運行它們。我認為這是因為電子郵件不會首先到達收件箱,而是直接進入資料夾。有沒有辦法讓 Outlook 自動在這些資料夾上執行規則?預定的跑步也應該沒問題。
答案1
這裡是。請注意,這是特定於垃圾資料夾的(olFolderJunk 是 Outlook 常數),它將運行我建立的任何帶有「JUNK_FILTER_」前綴的過濾器。
它是樂觀的並且幾乎沒有錯誤檢查,因此使用它需要承擔風險。如果你不明白就不要使用它:)
Sub runRulesOnJunkFolder()
Dim st As Outlook.Store
Dim myRules As Outlook.Rules
Dim rl As Outlook.Rule
Dim count As Integer
Dim ruleList As String
Dim rulePrefix As String
Dim ruleFolder As Long
'
Dim outlookApp As Outlook.Application
Dim objNS As NameSpace
ruleFolder = olFolderJunk
rulePrefix = "JUNK_FILTER_"
Set objNS = Application.GetNamespace("MAPI")
Set objJunkfolder = objNS.GetDefaultFolder(ruleFolder)
' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rules
Set myRules = st.GetRules
' iterate all the rules
For Each rl In myRules
' determine if it's an Inbox rule and rule name prefix matches
If rl.RuleType = olRuleReceive And Left(rl.Name, Len(rulePrefix)) = rulePrefix Then
' if so, run it
rl.Execute ShowProgress:=True, Folder:=objJunkfolder
count = count + 1
ruleList = ruleList & vbCrLf & rl.Name
End If
Next
' tell the user what you did
ruleList = "These rules were executed against the folder: " & objJunkfolder.Name & vbCrLf & ruleList
MsgBox ruleList, vbInformation, "Macro: runRulesOnJunkFolder"
Set rl = Nothing
Set st = Nothing
Set myRules = Nothing
Set objJunkfolder = Nothing
Set objNS = Nothing
End Sub
答案2
類別在 IMAP 帳戶上無法正常運作。指派給 IMAP 帳戶中的 Outlook 物件的任何類別都不會與伺服器同步,因此只會顯示在特定 Windows 安裝上的特定使用者帳戶的特定 Outlook 設定檔上。您真正可以與 IMAP 和 Outlook 一起使用的唯一內容是標準開/關標誌(而不是 GMail 或 Exchange 支援的不同類型)。
類別旨在與 Exchange 帳戶一起使用,可以在其中分配客戶端規則,然後與伺服器同步。它們還可以與 POP3 帳戶一起正常工作,其中將分配類別並根據客戶端規則對電子郵件進行排序。
作為類別能被分配(使用客戶端規則)到已分類到 Exchange 伺服器上的資料夾(使用伺服器端規則)的電子郵件上,我認為您的規則不起作用,因為類別並不真正打算用於非- 交換帳戶。
在我看來,我認為 GMail 不能與任何桌面電子郵件用戶端一起令人滿意地使用,因為 IMAP 郵箱的設定方式不尋常。
答案3
一種方法是設定一個定期約會,每當提醒彈出時就可以觸發巨集。巨集將運行過濾器。這看起來有點麻煩,因為你的日曆中有很多約會,而且當你想要它時它不太可能被解僱。我個人沒有這樣做過,但我確信這是可能的。
我什麼有完成的工作是建立一個宏,運行在特定資料夾上以特定前綴命名的任何過濾器。巨集選擇資料夾,過濾器決定操作(在我的例子中,“刪除”)。了解 VBA 的人都可以使用它。
建立巨集後,我在 Outlook 工具列上新增了一個執行它的按鈕。每當我有心情時,我都會點擊按鈕。
如果您覺得可以修改它以滿足您的需要,我可以發布原始程式碼。
答案4
您可以直接在 GMail 中設定這些規則:關聯。