Compartilhar via


Recuperar valores de propriedades de aplicativo de um documento de processamento de texto

Este tópico mostra como utilizar as classes no SDK Open XML para o Office para obter programaticamente uma propriedade de aplicação a partir de um documento do Microsoft Word, sem carregar o documento para Word. Contém código de exemplo para ilustrar esta tarefa.

A Obter Propriedades da Aplicação

Para obter as propriedades do documento da aplicação, pode obter a ExtendedFilePropertiesPart propriedade de um WordprocessingDocument objeto e, em seguida, obter a propriedade de aplicação específica de que precisa. Para tal, primeiro tem de obter uma referência ao documento, conforme mostrado no seguinte código.

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

Tendo em conta a referência ao WordprocessingDocument objeto, pode obter uma referência à ExtendedFilePropertiesPart propriedade do documento. Este objeto fornece as suas próprias propriedades, cada uma das quais expõe uma das propriedades do documento da aplicação.

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

var props = document.ExtendedFilePropertiesPart.Properties;

Assim que tiver a referência às propriedades do ExtendedFilePropertiesPart, pode obter qualquer uma das propriedades da aplicação, utilizando código simples, como o mostrado no exemplo seguinte. Tenha em atenção que o código tem de confirmar que a referência a cada propriedade não null é de antes de Nothing obter a respetiva Text propriedade. Ao contrário das propriedades do núcleo, as propriedades do documento não estão disponíveis se você (ou a aplicação) não lhes tiver dado especificamente um valor.

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

Código de exemplo

Segue-se o exemplo de código completo em C# e 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);
    }
}