Como encontrar variáveis de documentos no MS Word sem usar uma macro

8

Eu tenho documento com algumas variáveis do documento e estou tentando usar essas variáveis no documento. Mas como as variáveis são definidas por um sistema externo (o que não é bem documentado), estou jogando um jogo de adivinhação. Eu suponho que exista uma variável com "data da última revisão" e comece a adivinhar o que essa variável poderia ter sido chamada.

Existe uma maneira de listar todas as variáveis do documento em um documento do MS Word e seus valores para que alguém possa consultá-los ao usá-los no documento? (Estou trabalhando no MS Office 2010)

    
por some user 15.05.2013 / 08:35

2 respostas

13

O Word possui vários tipos diferentes de "variável". Existem coisas conhecidas como "Variáveis do Documento", mas há outras coisas que denominarei "propriedades" - tentarei listar os principais tipos abaixo. / p>

Existem alguns lugares no Word que você pode procurar para encontrar alguns tipos de propriedades, mas para verdadeiras "variáveis" e outros tipos de propriedades, se você não puder usar macros ou outro código, será necessário descompactar o arquivo. docx e veja os vários arquivos lá dentro.

Lugares que você pode ver no Word 2010 (nenhuma variável de documento é exibida aqui) ...

a. Em "Backstage" - olhe na aba File, na opção Info, e você verá algumas propriedades listadas à direita. Clique em "Mostrar todas as propriedades" na parte inferior da lista e você poderá ver mais.

b. Na guia Inserir, Grupo de texto, Quick Parts- > Properties, você deve ver uma lista de "Built in properties + algumas ou todas as propriedades inseridas pelo Sharepoint, se é isso que você está usando.

c. No "Painel de Informações do Documento" (DIP). Se você não vê isso, vá para o menu Arquivo, em seguida, Opções, depois (digamos) Barra de Ferramentas de Acesso Rápido. Selecione "Escolher comandos" em "Todos os comandos", procure "Propriedades", selecione-o e clique no botão Adicionar. Em seguida, você deve ver um ícone na barra de ferramentas Acesso rápido que tenha um pequeno "i" branco em um plano de fundo azul circular. Clique nele e você deverá ver algumas propriedades incorporadas (Autor, Título etc.) ou algumas propriedades "Tipo de conteúdo" do SharePoint, se estiver usando o SharePoint. Você pode ser capaz de alternar entre uma das várias vistas de lá. Se você clicar no menu suspenso na parte superior esquerda do DIP e escolher "Propriedades avançadas", verá uma caixa de diálogo com várias guias que mostra

  • algumas propriedades "incorporadas"

  • Propriedades de documento personalizadas "definidas pelo usuário" em estilo antigo.

Para todo o resto, você provavelmente terá que procurar no XML no .docx. Para fazer isso, faça uma cópia do seu documento. Digamos que a cópia seja chamada de mydoc.docx. Renomeie isso para mydoc.docx.zip, abra o zip e procure por várias coisas, como sugerido abaixo ...

a. true As Variáveis do Documento são armazenadas na pasta word, em settings.xml, em um elemento chamado w: docVars. Você deve ver um nome e um valor para cada variável. Você pode inserir os valores de Document Variables em seu documento usando um campo {DOCVARIABLE variablename}.

b. Propriedades internas do documento, incluindo coisas como autor, título, etc. Na maioria dos casos, os valores podem ser inseridos no documento usando campos espcializados, como {AUTHOR} ou, em alguns casos, {DOCPROPERTY}. Embora seja um pouco confuso, existe uma lista padrão de nomes. Você pode encontrar a maioria dos valores na pasta docProps nos arquivos core.xml e app.xml. No entanto, algumas (as "Propriedades da página de rosto") são armazenadas, se usadas, em um dos arquivos "item.xml" (por exemplo, "item1.xml" na pasta customXml.

c. propriedades de documento personalizadas "definidas pelo usuário" de estilo antigo que consistem principalmente em pares nome / valor cujos valores podem ser inseridos no documento usando campos {DOCPROPERTY}, por exemplo, {DOCPROPERTY mycustomproperty}. Eles são exibidos na caixa de diálogo Advanced Properties ...., mas no .docx eles estão no arquivo custom.xml na pasta docProps.

d. propriedades personalizadas de novo estilo, também conhecidas como "Propriedades do SharePoint" ou "propriedades de tipo de conteúdo", porque elas são geralmente criadas e preenchidas de colunas em uma lista do SharePoint. Os valores são armazenados em "Custom XML Parts" e podem ser inseridos usando os Content Controls que foram configurados para apontar para o bit relevante do XML. (Word 2007 e posterior somente). No .docx, você encontrará vários "esquemas" para essas variáveis e os valores das variáveis na pasta customXML, nos arquivos chamados "item1.xml", "item2.xml", etc.

e. por fim, qualquer desenvolvedor pode colocar suas próprias partes XML personalizadas em um documento do Word e conectar os Controles de conteúdo a elementos e atributos nessas partes XML personalizadas. Não vou tentar entrar nos detalhes de como isso é feito, mas você encontrará os dados nos arquivos item1.xml, item2.xml etc. em customXML. No entanto, para encontrar o conteúdo controla-se, seus nomes e o que eles estão conectados também, você normalmente precisa procurar na pasta word, por exemplo. document.xml e talvez um ou mais dos arquivos .xml "header" e "footer".

    
por 15.05.2013 / 21:39
4

Eu estava tendo um problema semelhante. Alguma caixa de ferramentas de terceiros estava falhando e eu precisava definir um valor variável.

É um pouco grosseiro, mas aqui está um código VBA que listei todas as variáveis na coleção ActiveDocument.Variables ;

Public Sub ListAllVariables()
    Dim V As Variable, S As String
    For Each V In ActiveDocument.Variables
        S = S & V.Name & vbTab & V.Value & vbNewLine
    Next V
    MsgBox S
End Sub

Você pode criar uma nova macro e despejá-la lá, o que deve fornecer as informações. Quando você encontrar o nome da variável em que está interessado, você pode configurá-lo com

ActiveDocument.Variables("MyVariable") = "Value"
    
por 09.02.2014 / 16:21