我想创建一个宏,为第一个对话中的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已经有了所有的类别对象。
答案 0 :(得分:0)
它是一个非交付商店,例如存档.pst商店还是共享商店?请尝试运行以下代码:
oConv.SetAlwaysAssignCategories "Important", oStore
此外,我找到了一个描述相同错误代码的similar forum thread。