Udostępnij za pośrednictwem


Tworzenie i modyfikowanie niestandardowych właściwości dokumentu

Wymienione powyżej aplikacja pakietu Office lication firmy Microsoft udostępniają wbudowane właściwości przechowywane w dokumentach. Ponadto można tworzyć i modyfikować niestandardowe właściwości dokumentu, jeśli istnieją dodatkowe informacje, które chcesz przechowywać w dokumencie.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla następujących aplikacji: Excel; Powerpoint; Projektu; Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Użyj właściwości CustomDocumentProperties dokumentu, aby pracować z właściwościami niestandardowymi. Na przykład w projekcie na poziomie dokumentu dla programu Microsoft Office Excel użyj CustomDocumentProperties właściwości ThisWorkbook klasy . W projekcie dodatku VSTO dla programu Excel użyj CustomDocumentProperties właściwości Workbook obiektu. Te właściwości zwracają DocumentProperties obiekt, który jest kolekcją DocumentProperty obiektów. Możesz użyć Item właściwości kolekcji, aby pobrać określoną właściwość według nazwy lub indeksu w kolekcji.

W poniższym przykładzie pokazano, jak dodać właściwość niestandardową w dostosowywaniu na poziomie dokumentu dla programu Excel i przypisać jej wartość.

Przykład

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

Niezawodne programowanie

Próba uzyskania dostępu do Value właściwości dla niezdefiniowanych właściwości zgłasza wyjątek.