Compartilhar via


Obter a classe de mensagem padrão de uma pasta

Este exemplo mostra como usar a propriedade DefaultMessageClass para obter a classe de mensagens padrão de uma pasta.

Exemplo

Observação

O exemplo de código a seguir foi tirado do artigo Programação de aplicativos do Microsoft Office Outlook 2007.

Para obter a classe de mensagem padrão para uma pasta, use a propriedade DefaultMessageClass do objeto MAPIFolder. Por exemplo, um objeto Folder com DefaultMessageClass de IPM.Contact significa que ele representa uma pasta Contact. No entanto, se a pasta tiver um formulário personalizado ou um formulário de substituição como um formulário padrão, você deverá usar o objeto PropertyAccessor para determinar a classe da mensagem do formulário padrão. A propriedade DefaultMessageClass não retorna a classe de mensagem do formulário padrão da pasta.

No exemplo de código a seguir, o procedimento GetDefaultMessageClass usa o PropertyAccessor para determinar o formulário padrão de uma pasta. Se a propriedade da pasta PR_DEF_POST_MSGCLASS(PidTagDefaultPostMessageClass) não for encontrada e o Outlook gerar um erro, tente... o bloco catch retorna a propriedade DefaultMessageClass para a Pasta.

Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instruçãousing não deve ocorrer diretamente antes das funções no exemplo de código, mas deve ser adicionada antes da declaração de classe pública. The following line of code shows how to do the import and assignment in 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;
    }
}

Confira também