自动为特定对话分配类别

时间:2015-01-13 00:43:55

标签: vba outlook store categories

我想创建一个宏,为第一个对话中的MailItem和所有其他MailItem设置类别。好消息是微软有一个完全正确的演示,here。坏消息是它不起作用(喘气)。我很乐意,如果有人可以看看下面的代码,错误和帮助屏幕截图并修复微软的错误,或者告诉我我做了什么或忘记做了什么导致了这个错误。

代码(来自上面的链接):

Sub DemoSetAlwaysAssignCategories()
 Dim oMail As Outlook.MailItem
 Dim oConv As Outlook.Conversation
 Dim oStore As Outlook.Store
 ' Get the item displayed in the Reading Pane.
 Set oMail = ActiveExplorer.Selection(1)
 Set oStore = oMail.Parent.Store
 If oStore.IsConversationEnabled Then
 Set oConv = oMail.GetConversation
 If Not (oConv Is Nothing) Then
 Dim oFolder As Outlook.Folder
 oConv.SetAlwaysAssignCategories "Project Convo", oStore
 End If
 End If
End Sub

调试器突出显示以下行:

oConv.SetAlwaysAssignCategories "Project Convo", oStore

并给出一个错误对话框。这是屏幕截图: ![VBA错误] [2] 这是我点击该错误的“帮助”时的窗口: ![VBA帮助] [3]

从头开始,我没有足够的声誉来发布图片。多么愚蠢的规则。无论如何,错误显示“运行时错误'-2147221233(8004010f)':尝试的操作失败。无法找到对象。”帮助按钮打开OlkCategory.BackColor属性的开发人员参考条目。所以我假设我错过了对某个库或类似内容的引用,但我在互联网上找不到关于这个主题的内容,我认为标准的Outlook lib已经有了所有的类别对象。

1 个答案:

答案 0 :(得分:0)

它是一个非交付商店,例如存档.pst商店还是共享商店?请尝试运行以下代码:

oConv.SetAlwaysAssignCategories "Important", oStore

此外,我找到了一个描述相同错误代码的similar forum thread