Freigeben über


Gewusst wie: Erstellen und Ändern von benutzerdefinierten Dokumenteigenschaften

Die oben aufgeführten Microsoft Office-Anwendungen stellen integrierte Eigenschaften bereit, die mit Dokumenten gespeichert werden.Darüber hinaus können Sie benutzerdefinierte Dokumenteigenschaften erstellen und ändern, um zusätzliche Informationen mit einem Dokument zu speichern.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument - und Anwendungsebene für die folgenden Anwendungen: Excel 2013 und Excel 2010, PowerPoint 2013 und PowerPoint 2010, Project 2013 und Project 2010, Word 2013 und Word 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Verwenden Sie die CustomDocumentProperties-Eigenschaft eines Dokuments, um mit benutzerdefinierten Eigenschaften zu arbeiten.Verwenden Sie in einem Projekt auf Dokumentebene für Microsoft Office Excel beispielsweise die CustomDocumentProperties-Eigenschaft der ThisWorkbook-Klasse.In einem Projekt auf Anwendungsebene für Excel verwenden Sie die CustomDocumentProperties-Eigenschaft eines Microsoft.Office.Interop.Excel.Workbook-Objekts.Diese Eigenschaften geben ein DocumentProperties-Objekt zurück, das eine Auflistung der DocumentProperty-Objekte darstellt.Sie können die Item-Eigenschaft der Auflistung verwenden, um eine bestimmte Eigenschaft innerhalb der Auflistung anhand des Namens oder des Index abzurufen.

Im folgenden Beispiel wird veranschaulicht, wie in einer Anpassung auf Dokumentebene für Excel eine benutzerdefinierte Eigenschaft hinzugefügt und ein Wert zugewiesen wird.

Link zu Video Eine entsprechende Videodemo finden Sie unter How Do I: Access and Manipulate Custom Document Properties in Microsoft Word?.

Beispiel

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

Robuste Programmierung

Beim Versuch, auf die Value-Eigenschaft für nicht definierte Eigenschaften zuzugreifen, wird eine Ausnahme ausgelöst.

Siehe auch

Aufgaben

Gewusst wie: Lesen von und Schreiben in Dokumenteigenschaften

Weitere Ressourcen

Programmieren von Add-Ins auf Anwendungsebene

Programmieren von Anpassungen auf Dokumentebene