更改outlook主题行

更改outlook主题行,outlook,Outlook,如果主题中有特定单词,如何编写一个VBA方法来替换该主题。此代码将在电子邮件正文中找到某个关键字(与主题关键字不同)。然后,它将在正文中找到的关键词后用13个字符替换主题行 下面的内容已经找到,但没有提到如何在邮件正文中找到任何内容。而且我没有MAPI参考 任何帮助都将不胜感激 提前感谢您的帮助 瑞克 如果它适用于所有新消息,那么您可以使用以下命令 私有子应用程序_ItemSend(ByVal项作为对象,取消作为布尔值) Dim v作为变量 对于数组中的每个v(“第一”、“第二”) 如果InSt

如果主题中有特定单词,如何编写一个VBA方法来替换该主题。此代码将在电子邮件正文中找到某个关键字(与主题关键字不同)。然后,它将在正文中找到的关键词后用13个字符替换主题行

下面的内容已经找到,但没有提到如何在邮件正文中找到任何内容。而且我没有MAPI参考

任何帮助都将不胜感激 提前感谢您的帮助 瑞克


如果它适用于所有新消息,那么您可以使用以下命令

私有子应用程序_ItemSend(ByVal项作为对象,取消作为布尔值)

Dim v作为变量
对于数组中的每个v(“第一”、“第二”)
如果InStr(1,Item.Subject,v,vbTextCompare)为0,则
SearchForAttachWords=True
如果结束
下一个
如果SearchForAttachWords=True,则
Item.Subject=“您想要的任何主题”
如果结束
端接头

希望这有帮助。

如果是针对所有新邮件,那么您可以使用以下内容

私有子应用程序_ItemSend(ByVal项作为对象,取消作为布尔值)

Dim v作为变量
对于数组中的每个v(“第一”、“第二”)
如果InStr(1,Item.Subject,v,vbTextCompare)为0,则
SearchForAttachWords=True
如果结束
下一个
如果SearchForAttachWords=True,则
Item.Subject=“您想要的任何主题”
如果结束
端接头
希望这有帮助

Sub RewriteSubject(MyMail As MailItem)
  Dim mailId As String
  Dim outlookNS As Outlook.NameSpace
  Dim myMailItem As Outlook.MailItem

  mailId = MyMail.EntryID

  Set outlookNS = Application.GetNamespace("MAPI")
  Set myMailItem = outlookNS .GetItemFromID(mailId)

  ' Do any detection here
  mailItem.Subject = "Dept - " & mailItem.Subject
  myMailItem.Save

  Set mailItem = Nothing
  Set outlookNS = Nothing
End Sub 
Dim v As Variant
    For Each v In Array("first", "second")
        If InStr(1, Item.Subject, v, vbTextCompare) <> 0 Then
            SearchForAttachWords = True
        End If
    Next

    If SearchForAttachWords = True Then
        Item.Subject = "Whatever subject you want"
    End If      

End Sub