【发布时间】:2014-10-08 14:53:16
【问题描述】:
我正在使用以下代码将电子邮件从我的收件箱移至另一个名为 Supplier 的文件夹。 如果主题是“介绍”,它目前有效,但如果主题是“我的介绍”,则无效
我想要做的是添加一行,说明主题或正文是 LIKE 'introduction' 还是 Like 'introduce' 或 Like 'Supply' 等等...
此外,我的 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
【问题讨论】:
-
您根本不需要 VBA。创建一个过滤器。
-
我尝试过使用规则,但这并没有达到我想要的效果,如果可以的话,我更喜欢使用 vba
-
vba 不能提供什么规则?
-
规则不会总是读取一个主题,除非它拼写准确,vba 允许你做一个 if like 主题,例如如果主题包含“这是一个介绍”,那么 vba 可以在哪里选择这个通常不会
-
主题中的关键字是“介绍”