Partilhar via


Como: Criar e modificar propriedades de documento personalizadas

Os aplicativos de Microsoft Office listados acima fornecem propriedades internas que são armazenadas com documentos. Além disso, você pode criar e modificar propriedades de documento personalizado, se houver informações adicionais que você deseja armazenar com o documento.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de nível de aplicativo para os seguintes aplicativos: Excel 2007 e Excel 2010; PowerPoint 2007 e PowerPoint 2010; Project 2007 e Project 2010; Word 2007 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Use o CustomDocumentProperties propriedade de um documento para trabalhar com propriedades personalizadas. Por exemplo, em um projeto de nível de documento para Microsoft Office do Excel, use o CustomDocumentProperties propriedade da ThisWorkbook classe. Em um projeto de nível de aplicativo para o Excel, use o CustomDocumentProperties propriedade de um Microsoft.Office.Interop.Excel.Workbook objeto. Essas propriedades retornam um DocumentProperties o objeto, que é uma coleção de DocumentProperty objetos. Você pode usar o Item propriedade da coleção para recuperar uma propriedade específica, por nome ou índice dentro da coleção.

O exemplo a seguir demonstra como adicionar uma propriedade personalizada em uma personalização em nível de documento do Excel e atribua um valor.

link para vídeo Para uma demonstração de vídeo relacionada, consulte Fazer como i: Acessar e manipular as propriedades personalizadas de documentos no Microsoft Word?.

Exemplo

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;
}

Programação robusta

Tentativa de acesso a Value propriedade para propriedades indefinidas gera uma exceção.

Consulte também

Tarefas

Como: Ler e gravar propriedades de documento

Outros recursos

Os suplementos de nível de aplicativo de programação.

Programação personalizações em nível de documento