Как сделать автоинкремент значений в заголовках?

562
ShemSeger

Я создал макрос, который добавляет страницу в конец документа и изменяет текст заголовка в заголовке. Я хочу иметь возможность добавить несколько страниц и иметь букву в автоинкременте заголовка:

ГРАФИК «А»
ГРАФИК «Б»
ГРАФИК «С»
и т. Д.

Я попытался использовать поле AUTONUM, но получаю уведомление « Только основной документ ».

Sub AddSchedule() ' ' AddSchedue Macro ' Press Ctrl+End to add a schedule to a Policy. '  Selection.EndKey Unit:=wdStory Selection.InsertBreak Type:=wdSectionBreakNextPage ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader ' Unlink Header from Previous - Is this necessary? The macro seems to work without it...  Selection.Tables(1).Cell(Row:=1, Column:=2).Range.Text = "SCHEDULE '" Selection.Tables(1).Cell(Row:=1, Column:=2).Range.Select Selection.Collapse Direction:=wdCollapseEnd Selection.MoveEnd Unit:=wdCharacter, Count:=-1 Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _ "AUTONUM \* ALPHABETIC \s ' ", PreserveFormatting:=False ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument   End Sub 

Как я могу получить заголовки моих страниц с автоинкрементом в заголовках?

Кроме того, я предполагал, что мне нужно отсоединить мои заголовки от предыдущего в моем макросе. Я не мог заставить эту часть работать, но за исключением полей, которые не работают должным образом, все остальное работает нормально. Заголовок отображает новый заголовок, хотя он говорит, что он все еще связан. Должен ли я просто оставить это? Или как мне отсоединить заголовки? Я пытался с помощью:

Selection.HeaderFooter.LinkToPrevious = False 

Но это дает мне эту ошибку во время выполнения:

Метод или свойство недоступны, поскольку текущий выбор заблокирован для изменений формата

1
Я могу заставить некоторые другие поля работать в заголовке, я могу заставить его работать с номерами разделов, но первый график будет в разделе 3, поэтому буква отображается как «С» для первого графика. ShemSeger 7 лет назад 0
И я должен выяснить, что такое ссылка на предыдущую часть, она работает до тех пор, пока вы не перейдете на другую страницу, а затем не обновит другие заголовки, чтобы соответствовать новой. ShemSeger 7 лет назад 0

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

0
Tanya

Вы можете достичь этого без макроса, используя вместо этого вычисляемое поле в заголовке - вы были очень близки с использованием поля раздела. Просто нужно вычесть 2, чтобы он отображал правильное значение.

enter image description here

Заголовок раздела 3 необходимо будет отсоединить от предыдущего раздела перед тем, как вставить поле, но последующие разделы могут быть связаны, и номер расписания будет обновляться автоматически (например, в разделе 4 заголовок будет содержать «Расписание 2»).