Compartir a través de


Cómo: Crear y modificar propiedades personalizadas para documentos

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 documento

Versión de Microsoft Office

  • Microsoft Office System 2007

  • Microsoft Office 2003

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

Microsoft Office Excel y Microsoft Office Word proporcionan propiedades integradas que se almacenan con los libros y los documentos. Además, se pueden crear y modificar propiedades de documento personalizadas si hay información adicional que desea almacenar con el documento en una personalización de nivel de documento.

Utilice la propiedad CustomDocumentProperties para trabajar con propiedades personalizadas. Esta propiedad devuelve un objeto DocumentProperties, que es una colección de objetos DocumentProperty. Puede utilizar la propiedad Item de la colección para recuperar una propiedad determinada de la colección, ya sea por el nombre o por el índice.

El ejemplo siguiente muestra cómo agregar una propiedad personalizada en Excel y asignarle un valor.

Ejemplo

Sub TestProperties()
    Dim properties As Microsoft.Office.Core.DocumentProperties
    properties = CType(Me.CustomDocumentProperties, Office.DocumentProperties)

    If ReadDocumentProperty("Project Name") <> Nothing Then
        properties("Project Name").Delete()
    End If

    properties.Add("Project Name", False, _
        Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString, _
        "White Papers")
End Sub

Private Function ReadDocumentProperty(ByVal propertyName As String) As String
    Dim properties As Office.DocumentProperties
    properties = CType(Me.CustomDocumentProperties, Office.DocumentProperties)

    Dim prop As Office.DocumentProperty

    For Each prop In properties
        If prop.Name = propertyName Then
            Return prop.Value.ToString()
        End If
    Next

    Return Nothing
End Function
void TestProperties()
{
    Microsoft.Office.Core.DocumentProperties properties;
    properties = (Office.DocumentProperties)this.CustomDocumentProperties;

    if (ReadDocumentProperty("Project Name") != null)
    {
        properties["Project Name"].Delete();
    }

    properties.Add("Project Name", false,
        Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString,
        "White Papers", missing);
}

private string ReadDocumentProperty(string propertyName)
{
    Office.DocumentProperties properties;
    properties = (Office.DocumentProperties)this.CustomDocumentProperties;

    foreach (Office.DocumentProperty prop in properties)
    {
        if (prop.Name == propertyName)
        {
            return prop.Value.ToString();
        }
    }
    return null;
}

Programación eficaz

Si se intenta tener acceso a la propiedad Value para buscar propiedades no definidas, se inicia una excepción.

Vea también

Tareas

Cómo: Leer y escribir en propiedades de un documento

Conceptos

Programar personalizaciones de nivel de documento