Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Resumen

En este artículo se describe cómo usar la Biblioteca de objetos de Microsoft Outlook 10.0 para recuperar mensajes específicos mediante el método Buscar y el método Restringir en Microsoft Visual C#.

Más información

Para usar microsoft Outlook de objetos 10.0 para recuperar mensajes específicos, siga estos pasos:

  1. Inicie Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.

  2. En el menú Archivo, seleccione Nuevo y, a continuación, haga clic en Project.

  3. En la lista Tipos C# proyectos visuales , haga clic en Aplicación de consola.

    De forma predeterminada, se crea el archivo Class1.cs.

    Nota En Microsoft Visual C# 2005, haga clic en Vista C#" en la lista Tipos C# proyectos visuales . De forma predeterminada, se crea Program.cs.

  4. Agregue una referencia a microsoft Outlook de objetos 10.0. Para ello, siga estos pasos:

    1. En el menú Proyecto, haga clic en Agregar referencia.

    2. Haga clic en la pestaña COM, busque Microsoft Outlook biblioteca de objetos 10.0 y, a continuación, haga clic en Seleccionar.

      Nota En Microsoft Visual C# 2005. no tiene que hacer clic en Seleccionar.

    3. En el cuadro de diálogo Agregar referencias , haga clic en Aceptar.

    4. Si se le solicita que genere contenedores para las bibliotecas que seleccionó, haga clic en .

  5. En la ventana de código, reemplace el código por el siguiente:

    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. Busque la cadena de texto TODO en el código y, a continuación, modifique el código para su entorno.

  7. Presione la tecla F5 para crear y ejecutar el programa.

Referencias

Para obtener más información sobre las características de seguridad de Outlook 2002, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

290500 Descripción de las características de seguridad de correo electrónico relacionadas con el desarrollador en Outlook 2002Para


obtener información adicional sobre los problemas que pueden producirse al usar la propiedad Contar de colecciones grandes, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

294385 OL2002: Propiedad Count incorrecta con citas periódicas

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×