获取文件夹的默认邮件类别

此代码示例展示了如何使用 DefaultMessageClass 属性获取文件夹的默认邮件类别。

示例

注意

下面的代码示例摘录自 Microsoft Office Outlook 2007 应用程序编程

若要获取文件夹的默认邮件类别,请使用 MAPIFolder 对象的 DefaultMessageClass 属性。 例如,如果 Folder 对象包含 DefaultMessageClass 的 IPM.Contact,意味着它代表“联系人”文件夹。 但是,如果该文件夹以自定义窗体或替换窗体作为默认窗体,则必须使用 PropertyAccessor 对象来确定默认窗体的邮件类别。 DefaultMessageClass 属性不返回文件夹的默认表单的邮件类别。

在下面的代码示例中,GetDefaultMessageClass 过程使用 PropertyAccessor 确定文件夹的默认表单。 如果找不到文件夹属性 PR_DEF_POST_MSGCLASS(PidTagDefaultPostMessageClass) 并且 Outlook 引发错误, try…catch 块将返回 FolderDefaultMessageClass 属性。

如果使用 Visual Studio 测试此代码示例,必须先添加对 Microsoft Outlook 15.0 对象库组件的引用,并在导入 Microsoft.Office.Interop.Outlook 命名空间时指定 Outlook 变量。 不得将 using 语句直接添加到此代码示例中的函数前面,这个语句必须后跟公共类声明。 下面的代码行演示了如何在 C# 中执行导入和分配。

using Outlook = Microsoft.Office.Interop.Outlook;
private string GetDefaultMessageClass(Outlook.Folder folder)
{
    if (folder == null)
        throw new ArgumentNullException();
    try
    {
        const string PR_DEF_POST_MSGCLASS =
            @"http://schemas.microsoft.com/mapi/proptag/0x36E5001E";
        string messageClass =
            folder.PropertyAccessor.GetProperty(
            PR_DEF_POST_MSGCLASS).ToString();
        return messageClass;
    }
    catch
    {
        return folder.DefaultMessageClass;
    }
}

另请参阅