Creare e modificare le proprietà personalizzate del documento
Le applicazioni di Microsoft Office elencate in precedenza forniscono proprietà incorporate che vengono archiviate con i documenti. Inoltre, è possibile creare e modificare le proprietà personalizzate del documento se si vuole archiviare informazioni aggiuntive con il documento.
Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO per le applicazioni seguenti: Excel; Powerpoint; Progetto; Parola. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.
Utilizzare la proprietà CustomDocumentProperties di un documento per utilizzare proprietà personalizzate. Ad esempio, in un progetto a livello di documento per Microsoft Office Excel, usare la proprietà CustomDocumentProperties della classe ThisWorkbook
. In un progetto di componente aggiuntivo VSTO per Excel, usare la proprietà CustomDocumentProperties di un oggetto Workbook . Queste proprietà restituiscono un oggetto DocumentProperties , che rappresenta una raccolta di oggetti DocumentProperty . È possibile usare la proprietà Item
della raccolta per recuperare una proprietà specifica, in base al nome o in base all'indice nella raccolta.
Nell'esempio seguente viene illustrato come aggiungere una proprietà personalizzata in una personalizzazione a livello di documento per Excel e come assegnare un valore a tale proprietà.
Esempio
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;
}
Programmazione efficiente
Il tentativo di accesso alla proprietà Value
per proprietà non definite genera un'eccezione.