如果主题是什么,vba将电子邮件移动到文件夹?

时间:2014-10-08 14:53:17

标签: vba email outlook

我正在使用以下代码将电子邮件从我的收件箱移动到名为Supplier的另一个文件夹。 如果主题是“简介”,它目前有效,但如果主题是“我的介绍”

则不会

我想要做的是添加一条线,说明主题或正文是否像“介绍”或者像“介绍”或“喜欢供应”等......

此外,我的Outlook中有多个帐户,目前此代码仅适用于我的默认帐户,但我希望它适用于我的帐户名为“Purchasing@Hewden.co.uk”,有没有办法可以改变这个?我的'供应商'文件夹位于purchase@hewden.co.uk帐户的收件箱内,我想将电子邮件从此收件箱移至供应商文件夹。

Sub MoveItems()
 Dim myNameSpace As Outlook.NameSpace
 Dim myInbox As Outlook.Folder
 Dim myDestFolder As Outlook.Folder
 Dim myItems As Outlook.Items
 Dim myItem As Object


 Set myNameSpace = Application.GetNamespace("MAPI")
 Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
 Set myItems = myInbox.Items
 Set myDestFolder = myInbox.Folders("Supplier")
 Set myItem = myItems.Find("[Subject] = 'Introduction'")
 While TypeName(myItem) <> "Nothing"
 myItem.Move myDestFolder
 Set myItem = myItems.FindNext
 Wend
End Sub

1 个答案:

答案 0 :(得分:0)

我知道要求代码的问题但是通过使用规则可以更容易地做到这一点。如果不想要这个答案,我会删除它。

无论如何,你应该阅读thisthis来了解规则,它们真的很棒。 您将要创建一个新规则并根据主题行中的关键字进行过滤,您只需编写“简介”,Outlook就会知道要查找该单词。

您还必须指定电子邮件的去向,在我的情况下,您还需要指定新邮件到达时显示的通知类型(如果有)。

所有这些都应该在规则下提供 - &gt;创建新规则。