Condividi tramite


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.