Obtener la clase de mensaje predeterminada de una carpeta
En este ejemplo se muestra cómo usar la propiedad DefaultMessageClass para obtener la clase de mensaje predeterminada de una carpeta.
Ejemplo
Nota:
El siguiente ejemplo de código es un fragmento de Programming Applications for Microsoft Office Outlook 2007 (Programación de aplicaciones para Microsoft Office Outlook 2007).
Para obtener la clase de mensaje predeterminada de una carpeta, use la propiedad DefaultMessageClass del objeto MAPIFolder. Por ejemplo, si un objeto Folder tiene una DefaultMessageClassde IPM. Contact, esto significa que representa una carpeta de contactos. Sin embargo, si la carpeta tiene un formulario personalizado o un formulario de reemplazo como formulario predeterminado, debe usar el objeto PropertyAccessor para determinar la clase de mensaje del formulario predeterminado. La propiedad DefaultMessageClass no devuelve la clase de mensaje del formulario predeterminado de la carpeta.
En el ejemplo de código siguiente, el procedimiento GetDefaultMessageClass usa el objeto PropertyAccessor para determinar el formulario predeterminado de una carpeta. Si no se encuentra la propiedad folder PR_DEF_POST_MSGCLASS(PidTagDefaultPostMessageClass) y Outlook genera un error, pruebe... El bloque catch devuelve la propiedad DefaultMessageClass de la carpeta.
Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción using no debe producirse directamente antes de las funciones en el ejemplo de código, pero debe agregarse antes de la declaración de clase pública. La siguiente línea de código muestra cómo realizar la importación y la asignación en 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;
}
}
Vea también
- Folders (Carpetas)