Logg på med Microsoft
Logg på, eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Sammendrag

Denne artikkelen beskriver hvordan du bruker Microsoft Outlook 10.0-objektbiblioteket til å hente bestemte meldinger ved hjelp av Finn-metoden og Begrens-metoden i Microsoft Visual C#.

Mer informasjon

Hvis du vil bruke Microsoft Outlook 10.0-objektbiblioteket til å hente bestemte meldinger, følger du disse trinnene:

  1. Start Microsoft Visual Studio .NET eller Microsoft Visual Studio 2005.

  2. Pek på NyFil-menyen, og klikk deretter Project.

  3. Klikk Konsollprogram i listen Visual C#-prosjekttyper.

    Som standard opprettes Class1.cs-filen.

    Obs! I Microsoft Visual C# 2005 klikker du Visual C#" i listen Visual C#-prosjekter. Program.cs opprettes som standard.

  4. Legg til en referanse i Microsoft Outlook 10.0-objektbiblioteket. Hvis du vil gjøre dette, følger du disse trinnene:

    1. Klikk Legg Project referanse på menyen.

    2. Klikk com-fanen, finn Microsoft Outlook 10.0-objektbibliotek, og klikk deretter Velg.

      Obs! I Microsoft Visual C# 2005. du trenger ikke å klikke Velg.

    3. Klikk OK i dialogboksen Legg til referanser.

    4. Hvis du blir bedt om å generere wrappers for bibliotekene du valgte, klikker du Ja.

  5. Erstatt koden med følgende i kodevinduet:

    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. Søk etter TODO-tekststrengen i koden, og endre deretter koden for miljøet.

  7. Trykk F5-tasten for å bygge og kjøre programmet.

Referanser

Hvis du vil ha mer informasjon om sikkerhetsfunksjonene i Outlook 2002, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

290500 Beskrivelse av de utviklerrelaterte sikkerhetsfunksjonene for e-post i Outlook 2002Hvis


du vil ha mer informasjon om problemer som kan oppstå når du bruker Count-egenskapen for store samlinger, klikker du følgende artikkelnummer for å vise artikkelen i Microsoft Knowledge Base:

294385 OL2002: Feil antall-egenskap ved hjelp av regelmessige avtaler

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?
Når du trykker på Send inn, blir tilbakemeldingen brukt til å forbedre Microsoft-produkter og -tjenester. IT-administratoren kan samle inn disse dataene. Personvernerklæring.

Takk for tilbakemeldingen!

×