Se connecter avec Microsoft
S'identifier ou créer un compte.
Bonjour,
Sélectionnez un autre compte.
Vous avez plusieurs comptes
Choisissez le compte avec lequel vous voulez vous connecter.

Résumé

Cet article explique comment utiliser la bibliothèque d’objets Microsoft Outlook 10.0 pour récupérer des messages spécifiques à l’aide des méthodes Rechercher et Restreindre dans Microsoft Visual C#.

Informations supplémentaires

Pour utiliser la bibliothèque d’objets Microsoft Outlook 10.0 pour récupérer des messages spécifiques, suivez ces étapes :

  1. Démarrez Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.

  2. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Project.

  3. Dans la liste Types de projets C# visuels , cliquez sur Application de console.

    Par défaut, le fichier Class1.cs est créé.

    Remarque Dans Microsoft Visual C# 2005, cliquez sur Visual C# » dans la liste types de projets C# visuels . Par défaut, Program.cs est créé.

  4. Ajoutez une référence à la bibliothèque d’objets Microsoft Outlook 10.0. Pour ce faire, suivez ces étapes :

    1. Dans le menu Projet, cliquez sur Ajouter une référence.

    2. Cliquez sur l’onglet COM, recherchez Microsoft Outlook bibliothèque d’objets 10.0, puis cliquez sur Sélectionner.

      Remarque dans Microsoft Visual C# 2005. vous n’avez pas besoin de cliquer sur Sélectionner.

    3. Dans la boîte de dialogue Ajouter des références , cliquez sur OK.

    4. Si vous êtes invité à générer des wrappers pour les bibliothèques que vous avez sélectionnées, cliquez sur Oui.

  5. Dans la fenêtre de code, remplacez le code par ce qui suit :

    using System;
    using System.Reflection; // to use Missing.Value

    namespace FilterAppointments
    {
    /// <summary>
    /// Summary description for Class1.
    /// </summary>
    class Class1
    {
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    public static int Main(string[] args)
    {
    try
    {
    // Create an Outlook application.
    Outlook.Application oApp = new Outlook.Application();

    // Get the Mapi NameSpace and the Logon.
    Outlook.NameSpace oNS = (Outlook.NameSpace)oApp.GetNamespace("mapi");

    // Log on using dialog to choose a profile.
    oNS.Logon(Missing.Value, Missing.Value, true, true);

    // Alternate Logon using specific profile
    // TODO: Change the profile name where it is appropriate.
    //oNS.Logon("YourValidProfile", Missing.Value, false, true);

    // Get the Calendar folder.
    Outlook.MAPIFolder oCalendar = oNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);

    // Get the Items collection in the folder.
    Outlook.Items oItems = (Outlook.Items)oCalendar.Items;
    Console.WriteLine("Total Items (unrestricted): " + oItems.Count);

    //Include all occurrences of recurring items, and then sort them.
    oItems.Sort ("[Start]", false);
    oItems.IncludeRecurrences = true;

    // Define the string for the search criteria.
    String sCriteria;

    // Set the criteria for the Date fields.
    sCriteria = "[Start] <= '09/01/2002 08:00 AM' and [End] >= '2/15/2002 08:00 PM'";

    // Set the criteria for a string field.
    // sCriteria = "[Subject] = 'Weekly recurring meeting'";

    // Set the criteria for a numeric field.
    // Look for meetings that have not been responded to.
    // sCriteria = "[ResponseStatus] = " + (Int32)Outlook.OlResponseStatus.olResponseNotResponded)

    // Use the Restrict method to reduce the number of items to process.
    Outlook.Items oRestrictedItems = oItems.Restrict(sCriteria);
    oRestrictedItems.Sort ("[Start]", false);
    oRestrictedItems.IncludeRecurrences = true;

    Console.WriteLine("Total Items Unrestricted : " + oRestrictedItems.Count);

    Outlook.AppointmentItem oAppointment;

    //Get each item until item is null.
    Outlook.AppointmentItem oAppt;
    oAppt = (Outlook.AppointmentItem)oRestrictedItems.GetFirst();
    while (oAppt != null)
    {
    // Console.WriteLine(i.ToString());
    Console.WriteLine(" Subject: " + oAppt.Subject.ToString());
    Console.WriteLine(" Start time: " + oAppt.Start.ToString());
    Console.WriteLine(" End time: " + oAppt.End.ToString());
    Console.WriteLine(" Occurrences: " + oAppt.RecurrenceState.ToString());
    Console.WriteLine("\n\n");
    oAppt = (Outlook.AppointmentItem)oRestrictedItems.GetNext();
    }


    // Use the Find method to get single match.
    sCriteria = "[Start] >= '09/30/2001'";
    Console.WriteLine("Criteria: " + sCriteria.ToString());
    oAppointment = (Outlook.AppointmentItem)oItems.Find(sCriteria);
    Console.WriteLine("Used Find with Date fields");
    if (oAppointment is Outlook.AppointmentItem)
    Console.WriteLine("Found -> " + oAppointment.Subject.ToString());
    else
    Console.WriteLine("No object found");


    // Log off
    oNS.Logoff();

    // Clean up
    oAppointment = null;
    oRestrictedItems = null;
    oItems = null;
    oCalendar = null;
    oNS = null;
    oApp = null;
    }

    //Simple error handling
    catch (Exception e)
    {
    Console.WriteLine("{0} Exception caught.", e);
    }

    //Default return value
    return 0;
    }
    }
    }
  6. Recherchez la chaîne de texte TODO dans le code, puis modifiez le code de votre environnement.

  7. Appuyez sur la touche F5 pour créer et exécuter le programme.

Références

Pour plus d’informations sur les fonctionnalités de sécurité de Outlook 2002, cliquez sur le numéro d’article suivant pour le consulter dans la Base de connaissances Microsoft :

290500 Description des fonctionnalités de sécurité du courrier électronique liées aux développeurs dans Outlook 2002


Pour plus d’informations sur les problèmes qui peuvent se produire lorsque vous utilisez la propriété Nombre de grandes collections, cliquez sur le numéro d’article suivant pour le consulter dans la Base de connaissances Microsoft :

294385 OL2002 : propriété Nombre incorrect à l’aide de rendez-vous périodiques

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?
En cliquant sur Envoyer, vos commentaires seront utilisés pour améliorer les produits et services de Microsoft. Votre administrateur informatique sera en mesure de collecter ces données. Déclaration de confidentialité.

Nous vous remercions de vos commentaires.

×