Como colocar um campo com a última página numerada no Ms Word?

0

O texto acadêmico, como monografia, dissertação e tese, às vezes usa numeração de páginas diferentes de pré-texto, texto e pós-texto.

Então, preciso criar o cartão de catálogo com pré-texto e número de texto de páginas discriminadas. Para isso eu acho que poderia colocar um campo com a última página da parte pré-texto e a última página numerada do documento (Não é {NUMPAGES} porque isso me dá o número total de páginas)

Esta é a estrutura do documento para entender melhor qual é o problema:

  1. A numeração pré-texto começa na terceira página com numeração romana (iii) e termina no final da lista de figuras no (xvi). Esta página em numeração absoluta também é 16.
  2. Depois que a parte do texto começa com a numeração com 1 (em numeração arábica), mas na numeração absoluta do documento, esta é a página 17. Então, essa numeração termina com a página 120, mas em numeração absoluta, essa página é 136.

Então eu preciso de um campo que imprima XVI e 120. Eu poderia fazer isso:

{={NUMPAGES}-16}

Mas se o pré-texto aumentar as páginas, isso não funcionará

Eu agradeço também por uma solução em VBA.

    
por Adolfo Correa 09.09.2016 / 22:52

2 respostas

0

normalmente no rodapé eu lembro que a sintaxe é x de xx onde xx é a última página.

Quando você altera o formato, de romano para árabe, em algum lugar você adiciona ... RestartNumberingAtSection

este é um exemplo de script que precisa ser verificado

On Error Resume Next

Const wdPageBreak = 7 Const wdPageNumberStyleUppercaseRoman = 1

Defina objWord = CreateObject ("Word.Application") objWord.Visible = True Definir objDoc = objWord.Documents.Add ()

Defina objSection = objDoc.Sections (1) Definir objSelection = objWord.Selection

Defina objPageNumbers = objSection.Footers (1) .PageNumbers objPageNumbers.NumberStyle = wdPageNumberStyleUppercaseRoman objPageNumbers.ShowFirstPageNumber = FALSE objPageNumbers.RestartNumberingAtSection = TRUE objPageNumbers.StartingNumber = 17 objPageNumbers.Add (1)

objSelection.TypeText "Esta é a página 1." objSelection.InsertBreak (wdPageBreak) objSelection.TypeText "Esta é a página 2." objSelection.InsertBreak (wdPageBreak) objSelection.TypeText "Esta é a página 3."

    
por 10.09.2016 / 00:44
0

Você pode conseguir isso com um campo e um favorito.

Primeiro, crie um novo marcador à direita da marca de parágrafo em que você tem sua quebra de seção no final da seção de pretexto (que eu chamei de bkPretextEnd).

Em seguida, onde você deseja que o cálculo da página ajustada seja exibido, em vez da codificação rígida, insira uma referência ao número da página do marcador (e altere o formato do campo para Árabe, para que ele não "falhe" i numeração de páginas nessa seção).

    
por 13.09.2016 / 00:16