簡體   English   中英

如何使用 VBA 在 MS Outlook 2013 中更改電子郵件類別?

[英]How to change e-mail category in MS Outlook 2013 with VBA?

我嘗試制作在 VBA 中完成一些操作后自動更改電子郵件類別的宏。

我創建了一些看起來不錯的代碼,但它存在並不總是有效的問題 - 有時類別不會改變,看起來它是錯誤的:

Dim myolApp As Outlook.Application
Dim olFolder As Outlook.MAPIFolder
Dim ns As Outlook.NameSpace
Set ns = Outlook.GetNamespace("MAPI")
Set myolApp = CreateObject("Outlook.Application")
Set olFolder = ns.GetDefaultFolder(olFolderInbox)
Set olFolder = myolApp.ActiveExplorer.CurrentFolder
Dim itm As Object
Dim mailcattable As Variant
Dim kategoria As String

For Each itm In olFolder.Items

For b = 0 To UBound(mailcattable)
    If mailcattable(b) = "ABCD" Then
       mailcattable(b) = "After ABCD"
       kategoria = Join(mailcattable, "; ")
       itm.Categories = kategoria
    End If
Next
Next

你能告訴我如何解決嗎?

您永遠不會保存該項目。 為每個項目重置kategoria變量也是一個好主意。

    Dim bModified As Boolean
    For Each itm In olFolder.Items
      kategoria = ""
      bModified = false
      For b = 0 To UBound(mailcattable)
        If mailcattable(b) = "ABCD" Then
           mailcattable(b) = "After ABCD"
           kategoria = Join(mailcattable, "; ")
           itm.Categories = kategoria
           bModified = true
        End If
      Next
      if bModified Then 
        itm.Save
      End If 
    Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM