Freigeben über


Gewusst wie: Erstellen und Ändern von benutzerdefinierten Dokumenteigenschaften

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • 2007 Microsoft Office System

  • Microsoft Office 2003

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Microsoft Office Excel und Microsoft Office Word stellen integrierte Eigenschaften bereit, die in Arbeitsmappen bzw. Dokumenten gespeichert werden. Darüber hinaus können Sie benutzerdefinierte Dokumenteigenschaften erstellen und ändern, um zusätzliche Informationen mit einem Dokument in einer Anpassung auf Dokumentebene zu speichern.

Verwenden Sie die CustomDocumentProperties-Eigenschaft, um mit benutzerdefinierten Eigenschaften zu arbeiten. Diese Eigenschaft gibt ein DocumentProperties-Objekt zurück, das eine Auflistung von DocumentProperty-Objekten ist. 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 gezeigt, wie Sie eine benutzerdefinierte Eigenschaft in Excel erstellen und ihr einen Wert hinzufügen.

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", missing);
}

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

Bei dem 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

Konzepte

Programmieren von Anpassungen auf Dokumentebene