Como posso mostrar apenas títulos de cabeçalho para páginas não vazias no Word?

1

Eu tenho dois estilos definidos no Word 2016 que são usados para iniciar seções. Eles são chamados de Header_num_1 e Header_num_2. Agora o cabeçalho é feito assim

{ STYLEREF Header_num_1 \* MERGEFORMAT }
{ STYLEREF Header_num_2 \* MERGEFORMAT }

Isso permite que os títulos das seções apareçam no cabeçalho, por exemplo

Introduction
Legal Issues

Eu também tenho páginas vazias que não têm títulos de seção. Neste caso, o cabeçalho é repetido, o que eu não quero. Alguma idéia de como inserir uma condição em que as páginas vazias não obtenham um cabeçalho? Introduzir uma nova seção para páginas vazias seria uma opção, mas gostaria de saber se existe algo como um comando if no VBA.

    
por Michael S. 22.10.2015 / 10:18

1 resposta

1

Não acho que exista uma maneira única e fácil de fazer isso, mas dependendo de como essas páginas vazias estão surgindo, você pode considerar uma das seguintes opções ...

Uma vez que sua paginação é conhecida, faça com que o Word insira uma página completamente em branco no ponto apropriado, inserindo deliberadamente uma quebra de página ímpar ou uma quebra de página Par, conforme apropriado.

Insira suas próprias quebras de seção para criar uma seção de uma página e remover os campos STYLEREF do (s) cabeçalho (s) dessa seção. Eu suspeito que isso seja realmente a abordagem de propósito geral mais simples e automatizável (embora torne a criação de seções um pouco mais complicada), pois você poderia considerar escrever VBA para detectar páginas vazias e reutilizá-las por seções vazias.

Se você puder colocar alguma coisa em cada página vazia (ou seja, as páginas não estiverem realmente vazias e você manualmente garantir que algo não seja movido para outra página), você pode considerar o seguinte código de campo aninhado em algum lugar na página

{ SEQ "blanks{ SECTION }p{ PAGE }" \r1\h }

Em seguida, no cabeçalho, use

{ IF { SEQ "blanks{ SECTION }p{ PAGE }" \c = 0 "{ STYLEREF Header_num_1 \*MERGEFORMAT }
{ STYLEREF Header_num_2 \*MERGEFORMAT }" }

Como de costume, todos os {} têm que ser os pares de chaves de código de campo especiais que você pode inserir no Windows Word usando ctrl-F9.

Nesse caso, você precisará garantir que todos os campos sejam atualizados antes que o Word possa obter os cabeçalhos corretos. Além disso, o Word não "gosta" particularmente de condicionais em cabeçalhos / rodapés e nem sempre exibe valores corretos durante a edição.

Isso só funciona porque, para uma sequência X, {SEQ X \ c} tem um valor (é 0) mesmo se não houver campos {SEQ} no documento para definir esse valor. Então, se por exemplo você precisa da seção 3, página 4 para ficar em branco, o código de campo no corpo usa

{SEQ "espaços em branco {SECTION} p {PAGE}" \ r1 \ h}

ou seja,

{SEQ "blanks3p4" \ r1 \ h}

No cabeçalho, o valor da sequência SEQ "blanks3p4" só é testado nessa página . Na página anterior, o Word procurará o valor de blanks3p3, que será 0.

Não tenho certeza se isso funciona para todos os formatos de numeração de página que você poderia ter (alguns podem resultar em nomes de seqüência inválidos), mas é provavelmente o formato mais geral que você poderia usar. Se você puder confiar na numeração direta de páginas (por exemplo, uma única seqüência numerada como 1,2,3 .. então você pode simplificar o nome para, digamos, "blank {PAGE}"

    
por 22.10.2015 / 13:43