Partager via


Énumération, recherche et filtrage d’éléments dans un dossier

Le modèle objet Outlook fournit plusieurs points d’entrée qui prennent en charge l’énumération, la recherche et le filtrage d’éléments dans un dossier.

Énumération d’éléments

Les objets Items, Table et Selection prennent tous en charge l’énumération des éléments dans un dossier. Toutefois, ce sont les circonstances qui vous conduiront à en choisir un plutôt qu’un autre.

Vous pouvez obtenir une collection Items en appelant Folder.Items qui retourne les éléments du dossier. Chaque objet Item de la collection intègre toutes ses propriétés intégrées explicites et autres propriétés personnalisées et prend en charge les opérations de lecture-écriture. La collection Items prend également en charge les filtres et les événements qui déterminent à quel moment les éléments sont ajoutés, modifiés ou supprimés de la collection.

Utilisez Folder.GetTable ou Search.GetTable pour obtenir un objet Table qui représente un ensemble d’éléments dans un dossier ou un dossier de recherche. Dans les deux cas, vous pouvez spécifier un filtre pour obtenir un sous-ensemble des éléments du dossier ou, si vous ne spécifiez aucun filtre, obtenir tous les éléments du dossier. Par défaut, chaque élément renvoyé avec l’objet Table ne contient qu’un sous-ensemble par défaut de ses propriétés.

Vous pouvez afficher chaque ligne d’une table en tant qu’élément dans le dossier, chaque colonne en tant que propriété de l’élément, et table est un ensemble de lignes léger en mémoire qui permet l’énumération et le filtrage rapides des éléments du dossier. Bien que les ajouts et les suppressions du dossier sous-jacent soient représentés par les lignes de l’objet Table, l’objet Table ne prend en charge aucun événement d’ajout, de modification et de suppression de lignes.

Si vous avez besoin d’un objet accessible en écriture à partir de la ligne Table , obtenez l’ID d’entrée de cette ligne à partir de la colonne EntryID par défaut dans la table , puis utilisez la méthode GetItemFromID de l’objet NameSpace pour obtenir un élément complet, tel qu’un objet MailItem ou ContactItem, qui prend en charge les opérations de lecture-écriture. Pour plus d’informations sur les colonnes par défaut d’une table, consultez propriétés efault affichées dans un objet Table.

L’objet Selection prend en charge l’énumération des éléments qu’un utilisateur a sélectionnés dans un explorateur. Étant donné que l’explorateur affiche le contenu d’un dossier, l’objet Selection prend en charge l’énumération des éléments de ce dossier conformément à la sélection de l’utilisateur.

Note Un dossier dans Outlook peut contenir des éléments hétérogènes. Ainsi, par défaut, le dossier Contacts prend en charge la création d’éléments de type Contact et Liste de distribution. Étant donné que les objets Items, Table et Selection encapsulent des éléments dans un dossier ou un dossier de recherche, les éléments qu’ils contiennent n’ont pas nécessairement la même classe de message. Lorsqu’il s’agit d’énumérer les éléments contenus dans ces collections et objets, il est judicieux de vérifier d’abord la classe de message de chaque élément avant d’accéder à leurs propriétés.

Recherche et filtrage d’éléments

Les objets Items, Table, Application et View prennent en charge la recherche et le filtrage des éléments dans un dossier. Le tableau suivant décrit et compare ces points d’entrée :

Point d’entrée Action Objet de filtre de recherche Prise en charge de filtre Jet Prise en charge de filtre DASL Commentaires
Application.AdvancedSearch Définit les critères pour un objet Search et renvoie l’objet Search. Search.Results spécifie les résultats de la recherche. Search.Save met à jour un dossier de recherche avec les résultats de la recherche. Folder Non Oui
Folder.GetTable Renvoie un objet Table contenant les éléments d’un dossier résultant de l’application d’un filtre donné. Folder Oui Oui Certaines propriétés ne sont pas prises en charge dans le filtre Table, notamment les propriétés binaires, ainsi que le contenu du corps HTML ou RTF. Pour plus d’informations, voir Propriétés non prises en charge dans un objet ou un filtre Table.
Items.Find Recherche le premier élément correspondant au filtre spécifié. Folder Oui Non Certaines propriétés ne sont pas prises en charge dans le filtre, notamment Body. Pour plus d’informations, voir Items.Find.
Items.Restrict Filtre un ensemble déterminé d’éléments en fonction des restrictions spécifiées et renvoie une autre collection Items. Folder Oui Oui Certaines propriétés ne sont pas prises en charge dans le filtre, par exemple, Body. Pour plus d’informations, voir Items.Restrict.
Search.GetTable Renvoie un objet Table contenant les éléments d’un dossier de recherche résultant de l’application d’un filtre dérivé de Application.AdvancedSearch. Dossier de recherche Non Oui Search.GetTable dérive son filtre de l’objet Search (en particulier la propriété Search.Filter ) retourné par Application.AdvancedSearch.
Table.Restrict Filtre les lignes d’une table donnée en fonction d’un filtre spécifié et renvoie un autre objet Table. Folder Oui Oui Certaines propriétés ne sont pas prises en charge dans le filtre Table, notamment les propriétés binaires, ainsi que le contenu du corps HTML ou RTF. Pour plus d’informations, voir Propriétés non prises en charge dans un objet ou un filtre Table.
View.Filter Définit le filtre d’un affichage sans en modifier le code XML. La définition du filtre pour une vue modifie uniquement l’affichage dans l’interface utilisateur et n’entraîne pas une collection Items filtrée. Folder Non Oui
View.XML Obtient ou définit le code XML d’un affichage. La modification du <nœud Filtre> modifie le filtre de la vue. La définition du code XML pour une vue modifie uniquement la vue dans l’interface utilisateur et n’entraîne pas une collection Items filtrée. Folder Non Oui Le code XML de l’affichage est désapprouvé. Utilisez le modèle objet View pour programmer des affichages.

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.