Freigeben über


Abrufen von Anwendungseigenschaftswerten aus einem Textverarbeitungsdokument

In diesem Thema wird gezeigt, wie Sie die Klassen im Open XML SDK für Office verwenden, um eine Anwendungseigenschaft programmgesteuert aus einem Microsoft Word-Dokument abzurufen, ohne das Dokument in Word zu laden. Sie enthält Beispielcode zur Veranschaulichung dieser Aufgabe.

Abrufen von Anwendungseigenschaften

Zum Abrufen von Anwendungsdokumenteigenschaften können Sie die ExtendedFilePropertiesPart -Eigenschaft eines WordprocessingDocument -Objekts und dann die spezifische Anwendungseigenschaft abrufen, die Sie benötigen. Dazu müssen Sie zunächst einen Verweis auf das Dokument abrufen, wie im folgenden Code gezeigt.

using (WordprocessingDocument document = WordprocessingDocument.Open(fileName, false))
{

Mit dem Verweis auf das WordprocessingDocument -Objekt können Sie einen Verweis auf die ExtendedFilePropertiesPart -Eigenschaft des Dokuments abrufen. Dieses Objekt stellt eigene Eigenschaften bereit, von denen jede eine der Anwendungsdokumenteigenschaften verfügbar macht.

if (document.ExtendedFilePropertiesPart is null)
{
    throw new ArgumentNullException("ExtendedFilePropertiesPart is null.");
}

var props = document.ExtendedFilePropertiesPart.Properties;

Sobald Sie über den Verweis auf die Eigenschaften von ExtendedFilePropertiesPartverfügen, können Sie jede der Anwendungseigenschaften abrufen, indem Sie einfachen Code verwenden, wie im nächsten Beispiel gezeigt. Beachten Sie, dass der Code bestätigen muss, dass der Verweis auf jede Eigenschaft nicht null von ist, Nothing bevor die -Eigenschaft abgerufen wird Text . Im Gegensatz zu Kerneigenschaften sind Dokumenteigenschaften nicht verfügbar, wenn Sie (oder die Anwendung) ihnen keinen speziellen Wert gegeben haben.

if (props.Company is not null)
    Console.WriteLine("Company = " + props.Company.Text);

if (props.Lines is not null)
    Console.WriteLine("Lines = " + props.Lines.Text);

if (props.Manager is not null)
    Console.WriteLine("Manager = " + props.Manager.Text);

Beispielcode

Im Folgenden finden Sie das vollständige Codebeispiel in C# und Visual Basic.

using DocumentFormat.OpenXml.Packaging;
using System;
static void GetApplicationProperty(string fileName)
{
    using (WordprocessingDocument document = WordprocessingDocument.Open(fileName, false))
    {

        if (document.ExtendedFilePropertiesPart is null)
        {
            throw new ArgumentNullException("ExtendedFilePropertiesPart is null.");
        }

        var props = document.ExtendedFilePropertiesPart.Properties;

        if (props.Company is not null)
            Console.WriteLine("Company = " + props.Company.Text);

        if (props.Lines is not null)
            Console.WriteLine("Lines = " + props.Lines.Text);

        if (props.Manager is not null)
            Console.WriteLine("Manager = " + props.Manager.Text);
    }
}