Filtrage et affichage des éléments de boîte de réception modifiés le mois dernier
Cet exemple montre comment filtrer et afficher les éléments de boîte de réception qui ont été modifiés le mois dernier.
Exemple
Remarque
L’exemple de code suivant est un extrait de programmation d’Applications pour Microsoft Office Outlook 2007.
Le langage de requête recherche DAV et localisation (DASL) est basé sur l’implémentation de Microsoft Exchange de DASL dans Outlook. Il peut être utilisé pour renvoyer des résultats en fonction de propriété pour les recherches au niveau élément dans les données de dossier, tels que celui représenté par un Objet du tableau. Les filtres DASL prennent en charge les comparaisons de chaînes, y compris la correspondance d'équivalence, de préfixe, de phrase et de sous-chaîne, à l'aide de l'opérateur d'égalité (=). Vous pouvez utiliser des requêtes DASL pour effectuer une comparaison de date-heure ainsi qu’un filtrage.
Les requêtes DASL effectuant toujours des comparaisons d'objet DateTime en temps UTC (Coordinated Universal Time), vous devez convertir la valeur de l'heure locale en temps UTC si vous voulez que la requête fonctionne correctement. Vous devez aussi convertir la valeur DateTime en une représentation sous forme de chaîne car les filtres DASL prennent en charge les comparaisons de chaînes. Vous pouvez effectuer la conversion DateTime de deux façons : à l'aide la méthode LocalTimeToUTC(Object) de l'objet Row ou à l'aide des macros DateTime d'Outlook.
La ligne de code suivante montre comment utiliser la méthode LocalTimeToUTC pour convertir la valeur de la propriété LastModificationTime (qui est une colonne par défaut dans tous les objets Item) en temps UTC.
DateTime modified = nextRow.LocalTimeUTC(“LastModificationTime”);
Le tableau suivant répertorie les macros DateTime que vous pouvez utiliser pour retourner des chaînes filtrées qui comparent la valeur d'une propriété DateTime donnée avec une date relative ou une plage de dates spécifiées en temps UTC. La valeur de la propriété SchemaName représente toute propriétéDateTimevalide référencée par espace de noms.
Macro |
Syntaxe |
Description |
---|---|---|
aujourd’hui |
% aujourdh’ui("SchemaName") % |
Limite les éléments dont la valeur de propriété SchemaName égale à aujourd'hui. |
demain |
%demain("SchemaName") % |
Limite les éléments dont la valeur de propriété SchemaName égale à demain. |
hier |
%hier("SchemaName") % |
Limite les éléments dont la valeur de propriété SchemaName égale à hier. |
7prochainsjours |
% 7prochainsjours("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente aux sept prochains jours. |
7derniersjours |
%7derniersjours("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente aux sept derniers jours. |
semaineprochaine |
% semaineprochaine("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente à la semaine prochaine. |
semaineencours |
%semaineencours("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente à cette semaine. |
semainedernière |
%semainedernière("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente à la semaine dernière. |
moisprochain |
%moisprochain("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente au mois prochain. |
moisencours |
%cemois("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente au mois en cours. |
moisdernier |
%moisdernier("SchemaName") % |
Limite aux éléments ayant des valeurs de propriété SchemaName dans une plage équivalente au mois dernier. |
Dans l'exemple suivant, DemoDASLDateMacro crée une requête DASL qui utilise la macro DateTime lastmonthpour filtrer des éléments de la boîte de réception (Inbox) de l'utilisateur qui ont été modifiés au cours du dernier mois. Il crée ensuite unobjetdu tableau avec ce filtre et énumère et affiche les lignes dans l’objetdu tableau restreint.
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 DemoDASLDateMacro()
{
string filter = "@SQL=" + "%lastmonth(" + "\"" +
"DAV:getlastmodified" + "\"" + ")%";
Outlook.Table table = Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderInbox).GetTable(
filter, Outlook.OlTableContents.olUserItems);
while (!table.EndOfTable)
{
Outlook.Row row = table.GetNextRow();
Debug.WriteLine(row["Subject"]);
}
}