Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Rezumat

Acest articol descrie cum se utilizează Biblioteca de obiecte Microsoft Outlook 10.0 pentru a regăsi anumite mesaje utilizând metoda Găsire și metoda Restricționare în Microsoft Visual C#.

Mai multe informații

Pentru a utiliza Biblioteca de obiecte Microsoft Outlook 10.0 pentru regăsirea anumitor mesaje, urmați acești pași:

  1. Porniți Microsoft Visual Studio .NET sau Microsoft Visual Studio 2005.

  2. În meniul Fișier, indicați spre Nou, apoi faceți clic pe Project.

  3. În lista Tipuri de proiecte Visual C# , faceți clic pe Aplicație consolă.

    În mod implicit, este creat fișierul Class1.cs.

    Notă În Microsoft Visual C# 2005, faceți clic pe Visual C#" în lista de tipuri de proiecte Visual C #. În mod implicit, este creat Program.cs.

  4. Adăugați o referință la Biblioteca de obiecte Microsoft Outlook 10.0. Pentru a face acest lucru, urmați acești pași:

    1. În meniul Project, faceți clic pe Adăugare referință.

    2. Faceți clic pe fila COM, găsiți Microsoft Outlook 10.0 Bibliotecă de obiecte, apoi faceți clic pe Selectare.

      Notă în Microsoft Visual C# 2005. nu trebuie să faceți clic pe Selectare.

    3. În caseta de dialog Adăugare referințe , faceți clic pe OK.

    4. Dacă vi se solicită să generați încadrarea pentru bibliotecile selectate, faceți clic pe Da.

  5. În fereastra codului, înlocuiți codul cu următoarele:

    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. Căutați șirul text TODO în cod, apoi modificați codul pentru mediul dvs.

  7. Apăsați tasta F5 pentru a construi și a rula programul.

Referințe

Pentru mai multe informații despre caracteristicile de securitate Outlook 2002, faceți clic pe următorul număr de articol pentru a vizualiza articolul din Baza de cunoștințe Microsoft:

290500 Descrierea caracteristicilor de securitate de e-mail legate de dezvoltatori din Outlook 2002Pentru


informații suplimentare despre problemele care pot apărea atunci când utilizați proprietatea Count a colecțiilor mari, faceți clic pe următorul număr de articol pentru a vedea articolul din Baza de cunoștințe Microsoft:

294385 OL2002: Proprietatea Count incorectă utilizând rezervări recurente

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×