我的公司刚刚从outlook 2003移到2010年。我们有一个紫色标记消息的按钮,另一个使用标志过滤器将紫色标记的消息发送到服务器数据库。 [FlagStatus] = 2 由于Outlook 2010不再使用标记颜色,因此我将代码更改为使用类别,我成功创建了一个具有紫色的新类别“readyToSend”。问题是我无法过滤这个新类别的所有电子邮件。 微软似乎自相矛盾,我的代码无法正常工作。我正在寻找替代品。VBA:替代限制类别的方法?
从Items.Restrict Method (Outlook)
不能使用这种方法,并会导致错误有以下 属性: 分类
我得到的,但这时如果你向下滚动的例子你得到:
“This Visual Basic f或应用程序(VBA)示例使用限制 方法获取业务类别的所有收件箱项目并将它们移动到 Business文件夹。要运行此示例,请创建或确保在收件箱下存在一个名为“Business”的子文件夹 。 “
Sub MoveItems()
Dim myNamespace As Outlook.NameSpace
Dim myFolder As Outlook.Folder
Dim myItems As Outlook.Items
Dim myRestrictItems As Outlook.Items
Dim myItem As Outlook.MailItem
Set myNamespace = Application.GetNamespace("MAPI")
Set myFolder = _
myNamespace.GetDefaultFolder(olFolderInbox)
Set myItems = myFolder.Items
Set myRestrictItems = myItems.Restrict("[Categories] = 'Business'")
For i = myRestrictItems.Count To 1 Step -1
myRestrictItems(i).Move myFolder.Folders("Business")
Next
End Sub
我不能得到这个代码工作 解决方案1:如果我能得到这个工作,我可以解决我的问题 解决方案2:找到另一种方式来标记的消息传递/转移比类
感谢您的帮助,如果需要的话
当您将类别设置为“Business”时,您使用的示例是将收件箱中的项目移动到名为“Business”的文件夹。 “限制”问题只有在“类别”字段的行为类似于“文本”字段时具有多个类别。那beinh说,你用这个代码得到了什么错误?文件夹“Business”是否存在于同一个邮箱中? – dnLL 2014-09-23 20:17:07
我收到错误执行错误'-2147352567(80020009)无效条件并停在限制线。 Thx max的答复,但我已经通过扔电子邮件后,我只是使用过滤器,所以我不必每次都有人想要标记和发送电子邮件到服务器抛出所有的电子邮件。 – trixrabbit 2014-09-25 13:06:44
对不起,我没有看到你的代表,因为它不低于我的答案。在这种情况下,错误即将到来,“限制线”不是很清楚。也许在代码中设置一个标记...顺便说一句,我的代码工作(Outlook 2013) – Max 2014-09-29 20:04:10