Como: criar e modificar propriedades personalizadas de documentos
Os aplicativos do Microsoft Office listaram fornecem anterior as propriedades internas que são armazenadas com documentos.Além de isso, você pode criar e modificar propriedades personalizadas do documento se há 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 2013 e Excel 2010; PowerPoint 2013 e PowerPoint 2010; Project 2013 e Project 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.
Use a propriedade de CustomDocumentProperties de um documento para trabalhar com propriedades personalizadas.Por exemplo, em um projeto da nível do Microsoft Office Excel, use a propriedade de CustomDocumentProperties da classe de ThisWorkbook .Em um projeto do nível para o excel, use a propriedade de CustomDocumentProperties de um objeto de Microsoft.Office.Interop.Excel.Workbook .Essas propriedades retornam um objeto de DocumentProperties , que é uma coleção de objetos de DocumentProperty .Você pode usar a propriedade de Item de coleção por nome para recuperar uma propriedade específica, ou pelo índice dentro da coleção.
O exemplo a seguir demonstra como adicionar uma propriedade personalizada em um nível para a personalização do Excel e atribua um valor.
Para uma demonstração de vídeo relacionada, consulte Como: eu faço Acessar e manipular propriedades personalizadas do documento 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");
}
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
Tentar acessar a propriedade de Value para propriedades indefinidas gera uma exceção.
Consulte também
Tarefas
Como: ler e gravar propriedades de documento