2014-10-08 121 views
0

我使用以下代码将电子邮件从我的收件箱移动到另一个名为供应商的文件夹。 它目前的作品,如果主题是'介绍',但不是如果主题是'我的介绍'vba移动电子邮件到文件夹如果主题是?

我想要做的就是添加一条线,说如果主题或身体是像'介绍'或是像'介绍'或像'供应'等...

另外我在我的outlook中有多个帐户,此刻此代码仅适用于我的默认帐户,但我希望它为我的帐户工作,名为'Purchasing @ Hewden。 co.uk',有没有办法改变这种情况?我的“供应商”文件夹位于我的[email protected]帐户的收件箱中,我想将此电子邮件从此收件箱移至供应商文件夹。

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

根本不需要VBA。创建一个过滤器。 – SLaks 2014-10-08 14:55:14

+0

我尝试过使用规则,但是这并没有达到我想要的效果,如果可以的话,我宁愿使用vba – 2014-10-08 14:55:54

+0

vba不能提供哪些规则? – BradyK 2014-10-08 14:56:34

回答

0

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

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

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

所有这些应该在规则 - >创建新规则下可用。

相关问题