Compartir a través de


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

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Outlook 2003

  • Outlook 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

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.

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
        MessageBox.Show(result.ToString(), "Potato Salad")
    Else
        MessageBox.Show( _
            "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

Conceptos

Información general sobre el modelo de objetos de Outlook