Compartir a través de


Cómo: Leer datos de un campo personalizado de un elemento

En este ejemplo se leen los datos de un campo personalizado de un elemento de contacto. En el ejemplo se busca en los contactos que se encuentran en una carpeta llamada Picnic un valor en un campo de texto personalizado denominado Picnic. El código muestra el nombre de todos los contactos que tienen el valor Potato Salad.

Se aplica a: la información de este tema se aplica a los proyectos de nivel de aplicación para Outlook 2007 y Outlook 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.

Ejemplo

Private Sub ThisAddIn_Startup(ByVal sender As Object, _
 ByVal e As System.EventArgs) Handles Me.Startup
    Dim result As New System.Text.StringBuilder()
    Dim contactFolder As Outlook.MAPIFolder = Me.Application.GetNamespace _
        ("MAPI").GetDefaultFolder _
        (Outlook.OlDefaultFolders.olFolderContacts). _
        Folders("Picnic")

    Dim picnicMembers As Outlook.Items = _
        contactFolder.Items.Restrict("[Picnic]='Potato Salad'")

    For Each contact As Outlook.ContactItem In picnicMembers
        result.AppendLine(contact.FullName)
    Next

    If result.Length > 0 Then
        MsgBox(result.ToString(), "Potato Salad")
    Else
        MsgBox( _
            "No contacts are assigned potato salad for the picnic.", _
            "Potato Salad")
    End If
End Sub
private void ThisAddIn_Startup(object sender,
    System.EventArgs e)
{
    System.Text.StringBuilder result =
        new System.Text.StringBuilder();

    Outlook.MAPIFolder contactFolder = this.
        Application.GetNamespace("MAPI").
        GetDefaultFolder(Outlook.OlDefaultFolders.
        olFolderContacts).Folders["Picnic"];
    Outlook.Items picnicMembers = contactFolder.Items.
        Restrict("[Picnic]='Potato Salad'");
    foreach (Outlook.ContactItem contact in picnicMembers)
    {
        result.AppendLine(contact.FullName);
    }

    if (result.Length > 0)
    {
        MessageBox.Show(result.ToString(), "Potato Salad");
    }
    else
    {
        MessageBox.Show("No contacts are assigned potato salad"
            + " for the picnic.", "Potato Salad");
    }
}

Programación eficaz

Si la carpeta de contactos personalizada Picnic no se encuentra en la colección de carpetas, se iniciará una excepción COMException. Puede detectar esta excepción y crear la carpeta si no existe.

Vea también

Tareas

Cómo: Mover elementos en Outlook

Cómo: Crear elementos de carpeta personalizados

Cómo: Recuperar una carpeta por su nombre

Otros recursos

Información general sobre el modelo de objetos de Outlook