首页 > 解决方案 > 这些对话标题是什么类型的?

问题描述

我正在尝试使用宏来归档电子邮件,但如果用户选择对话标题,我会遇到问题。typeOf这些标题是什么?

对话标题

我正在尝试在选择电子邮件时获取父文件夹,以确定是否应该移动(或已经移动)电子邮件。对于.MailItem我可以使用以下代码获取它:

Set selection = ActiveExplorer.selection
Set CurrentFolder = selection(1).Parent

但是当只选择一个对话标题时,这会返回一个错误“运行时错误'440':数组索引超出范围。”

当尝试使用这样的 if 语句时:

If TypeOf selection Is Outlook.MailItem Then
    Set CurrentFolder = selection(1).Parent
ElseIf TypeOf selection Is Outlook.ConversationHeader Then
    'Set CurrentFolder
Else
    'Return error
End If

.ConversationHeader不起作用,因为在语句ElseIf中返回False

typeof应该使用什么?然后我应该使用什么代码来查找父文件夹?

标签: vbaemailoutlook

解决方案


Selection 属性返回Selection对象,而不是单个项目。您将需要循环选择项目(使用“ for each”或“ for”从 1 到Selection.Countusing循环Selection.Item(index))以获取所选项目。

您可以使用OutlookSpy查看实时 Outlook 对象及其属性、方法和事件。


推荐阅读