Obtention de la classe de message par défaut d’un dossier
Cet exemple montre comment utiliser la propriété DefaultMessageClass pour obtenir la classe de message par défaut d’un dossier.
Exemple
Remarque
L’exemple de code suivant est un extrait de la programmation d’Applications pour Microsoft Office Outlook 2007.
Pour obtenir la classe de message par défaut d’un dossier, utilisez la propriété DefaultMessageClass de l’objet MAPIFolder. Par exemple, un objet Folder avec IPM.Contact comme DefaultMessageClass représente un dossier Contact. Cependant, si le formulaire par défaut du dossier est un formulaire personnalisé ou un formulaire de remplacement, vous devez utiliser l'objet PropertyAccessor pour déterminer la classe de message du formulaire par défaut. La propriété DefaultMessageClass ne renvoie pas la classe de message du formulaire par défaut du dossier.
Dans l’exemple de code suivant, la procédure GetDefaultMessageClass utilise PropertyAccessor pour déterminer le formulaire par défaut d’un dossier. Si la propriété de dossier PR_DEF_POST_MSGCLASS(PidTagDefaultPostMessageClass) est introuvable et qu'Outlook déclenche une erreur, le bloc try…catch retourne la propriété DefaultMessageClass de Folder.
Si vous utilisez Visual Studio pour tester cet exemple de code, vous devez d’abord ajouter une référence au composant Bibliothèque d’objets Microsoft Outlook 15.0 et spécifier la variable lorsque vous importez l’espace de noms Microsoft.Office.Interop.Outlook. L’instruction using ne doit pas se produire juste avant les fonctions de l’exemple de code, mais doit être ajoutée avant la déclaration publique. La ligne de code suivante montre comment effectuer l’importation et l’affectation dans 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;
}
}