Как поместить поле с последней пронумерованной страницей в Ms Word?

256
Adolfo Correa

Тексты академиков, такие как монография, диссертация и тезисы, иногда используют нумерацию разных страниц от предтекстового, текстового и посттекстового.

Затем мне нужно создать каталожную карточку с предтекстовым и текстовым количеством страниц. Для этого, я думаю, я мог бы поместить поле с последней страницей предтекстовой части и последней страницей с номером документа (это не потому, что это дает мне общее количество страниц)

Это структура документа, чтобы лучше понять, в чем проблема:

  1. Нумерация пре-текста начинается с третьей страницы римской нумерацией (iii) и заканчивается в конце списка цифр в (xvi). Эта страница в абсолютной нумерации также 16.
  2. После того, как текстовая часть начинается с нумерации с 1 (в арабской нумерации), но в абсолютной нумерации документа это 17 страница. Затем эта нумерация заканчивается страницей 120, но в абсолютной нумерации эта страница равна 136.

Тогда мне нужно поле для печати XVI и 120. Я мог бы сделать это:

{=-16} 

Но если предварительный текст увеличивает страницы, это не сработает

Я тоже буду благодарен за решения в VBA.

0
Вы уже написали код VBA? С вашей стороны щедро «принимать решения и с VBA» Prasanna 7 лет назад 0
Где ты застрял? Что вы пробовали? Это не сервис написания скриптов. Xavierjazz 7 лет назад 0
извините, я не очень хорошо говорю по-английски. Я не знаю, как быть добрее или вежливее. Я хотел сказать, что я буду счастлив и очень благодарен, если решение - это редактирование поля или написание подпрограммы VBA. Adolfo Correa 7 лет назад 0
Нет, ребята. Извините, если я плохо выражаюсь. Ну, я думаю, что есть простой способ решить эту проблему редактирования полей. Конечно, кто-то может разрешить это исследование в Интернете о VBA. Я могу сделать это. Но я думаю, что это очень простая проблема, которая может быть, есть решение с поля из слова. Я хотел спросить о решении VBA, если кто-то знает, что решение ответит на вопрос, потому что для меня это тоже будет полезно. Adolfo Correa 7 лет назад 0

2 ответа на вопрос

0
Tony EE rocketscientist

обычно в нижних колонтитулах я вспоминаю, что синтаксис x xx, где xx - последняя страница.

Когда вы меняете формат с римского на арабский, куда-то добавляете ... RestartNumberingAtSection

это пример сценария, который нуждается в проверке

При ошибке возобновить следующее

Const wdPageBreak = 7 Const wdPageNumberStyleUppercaseRoman = 1

Установите objWord = CreateObject ("Word.Application") objWord.Visible = True Установите objDoc = objWord.Documents.Add ()

Установите objSection = objDoc.Sections (1) Установите objSelection = objWord.Selection

Установите objPageNumbers = objSection.Footers (1) .PageNumbers objPageNumbers.NumberStyle = wdPageNumberStyleUppercaseRoman objPageNumbers.ShowFirstPageNumber = FALSE objPageNumbers.RestartNumberingAtSection = TRUE objPN (1) objPage () objPage

objSelection.TypeText "Это страница 1". objSelection.InsertBreak (wdPageBreak) objSelection.TypeText "Это страница 2". objSelection.InsertBreak (wdPageBreak) objSelection.TypeText "Это страница 3".

0
Tanya

Вы можете достичь этого с помощью поля и закладки.

Сначала создайте новую закладку справа от метки абзаца, где у вас есть разрыв раздела в конце раздела с предлогом (я назвал его bkPretextEnd).

Затем там, где вы хотите, чтобы ваш скорректированный расчет страницы показывался, вместо жесткого кодирования 16 вставьте ссылку на номер страницы закладки (и измените формат поля на арабский, чтобы он не «не работал» из-за нумерации страницы i). в этом разделе).

enter image description here

Похожие вопросы