Compartir a través de


Crear una lista de distribución

En este ejemplo se muestra cómo crear una lista de distribución y mostrarla al usuario.

Ejemplo

Nota:

El siguiente ejemplo de código es un fragmento de Programming Applications for Microsoft Office Outlook 2007 (Programación de aplicaciones para Microsoft Office Outlook 2007).

En el ejemplo de código siguiente, CreateDistributionList crea una lista de distribución llamando al método CreateItem(OlItemType) para crear un objeto DistListItem. A continuación, crea un objeto Table y llama al método GetTable(Object, Object) para buscar todos los contactos de la carpeta de contactos predeterminada para los cuales el valor de la propiedad Subject sea “Top Customer” y el valor de la propiedad Email1Address no esté vacío. Una vez que se identifiquen todos los contactos, el nombre Email1Address se agrega como columna al objeto Table. Después, CreateDistributionList crea un objeto Recipient mediante el método CreateRecipient(String) del objeto NameSpace. Por último, CreateDistributionList muestra la lista de distribución "Top Customers" al usuario.

Nota:

Debe pasar un objeto Recipient resuelto como parámetro del método AddMember(Recipient) del objeto DistListItem. Para resolver un objeto Recipient, use el método Resolve().

Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción using no debe producirse directamente antes de las funciones en el ejemplo de código, pero debe agregarse antes de la declaración de clase pública. La siguiente línea de código muestra cómo realizar la importación y la asignación en C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void CreateDistributionList()
{
    Outlook.DistListItem distList = Application.CreateItem(
        Outlook.OlItemType.olDistributionListItem)
        as Outlook.DistListItem;
    distList.Subject = "Top Customers";
    //Find top customer category in Contacts folder
    string filter = "[Categories] = 'Top Customer'"
        + " AND [Email1Address] <> ''";
    Outlook.Table table =
        Application.Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderContacts).
        GetTable(filter, Outlook.OlTableContents.olUserItems);
    table.Columns.Add("Email1Address");
    while (!table.EndOfTable)
    {
        Outlook.Row nextRow = table.GetNextRow();
        Outlook.Recipient recip =
            Application.Session.CreateRecipient(
            nextRow["Email1Address"].ToString());
        //Resolve the Recipient before calling AddMember
        recip.Resolve();
        distList.AddMember(recip);
    }
    distList.Display(false);
}

Vea también