Création d’un affichage
Cet exemple montre comment utiliser la méthode Add(String, OlViewType, OlViewSaveOption) de la collection de Views pour créer un affichage pour un objet Dossier.
Exemple
Remarque
L’exemple de code suivant est un extrait de Programmation d’Applications pour Microsoft Office Outlook 2007.
Vous pouvez créer des vues personnalisables qui vous permettent de trier, de regrouper et d'afficher des données de types différents dans le volet Affichage de la fenêtre de l'explorateur Outlook. Vous pouvez également personnaliser des affichages intégrés par programmation. Le tableau suivant répertorie des objets qui représentent des affichages Outlook.
Nom de l’objet |
Description |
---|---|
Les données sont affichées comme une série d’images de cartes de visite électroniques. |
|
Les données sont affichées sous la forme d’un calendrier. |
|
Les données sont affichées dans une série de cartes. |
|
Les données sont affichées sous la forme d’icônes de dossier Windows ou d’icônes d’explorateur. |
|
Les données sont affichées dans un tableau simple contenant des champs. |
|
Les données sont affichées selon une chronologie linéaire personnalisable. |
Vous pouvez accéder aux propriétés et aux méthodes communes à tous les affichages en utilisant l’objet View. Cependant, pour accéder à certaines propriétés qui ne sont pas communes à tous les affichages, vous devez caster l'objet View à un objet View dérivé ayant la propriété à laquelle vous voulez accéder. Par exemple, pour accéder à la propriété HeadingsFont de l'objet Cardview, castez l'objet View en l'objet CardView. Si vous voulez déterminer quel type d’affichage est représenté par un objet View spécifique, utilisez la propriété ViewType.
Pour créer un nouvel affichage, utilisez la méthode Add de la collection Views pour un objet Folder. Définissez ensuite la visibilité de l’affichage, soit au moment de la création ou à tout moment après la création de l’affichage. Pour définir la visibilité de l'affichage au moment de la création, spécifiez une constante OlViewSaveOption dans le paramètre SaveOption de la méthode Add. Pour définir la visibilité après la création de l'affichage, spécifiez une constante OlViewSaveOption pour la propriété SaveOption de l'objet View.
L'ajout d'un nouvel affichage déclenche l'événement ViewAdd de la collection Views. Une fois l'affichage créé, personnalisez-le par programmation en castant l'objet View à l'un des objets dérivés, puis en effectuant les modifications nécessaires. Utilisez la méthode Save de l'objet View dérivé ou de l'objet View pour enregistrer les éventuelles modifications apportées à l'affichage. Enfin, utilisez la méthode Apply de l'objet View dérivé ou de l'objet View pour appliquer l'affichage à l'objet Explorer actuel. Cela déclenche l’événement ViewSwitch de l’objet Explorer.
Dans l'exemple de code suivant, CreateMeetingRequestsView ajoute un nouvel affichage nommé « Meeting Requests » à la Boîte de réception de l'utilisateur en castant l'objet View en un objet TableView. CreateMeetingRequestsView appelle ensuite la méthode Add de l'objet Views avec le paramètre Name défini comme « Meeting Requests » et le paramètre ViewType défini comme olTableView. La propriété Filter de l'objet TableView est définie comme une chaîne DASL qui provoque l'affichage de la vue uniquement lorsque figurent des éléments qui contiennent « IPM.Schedule » dans la classe message de l'élément. Le nouvel affichage est ensuite enregistré et appliqué.
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 void CreateMeetingRequestsView()
{
const string PR_MESSAGE_CLASS =
"http://schemas.microsoft.com/mapi/proptag/0x001A001E";
Outlook.Views views =
Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderInbox).Views;
Outlook.TableView tableView = (Outlook.TableView)
views.Add("Meeting Requests",
Outlook.OlViewType.olTableView,
Outlook.OlViewSaveOption.olViewSaveOptionThisFolderEveryone);
tableView.Filter = "\"" + PR_MESSAGE_CLASS + "\"" +
" like 'IPM.Schedule%'";
tableView.Save();
tableView.Apply();
}