Перемещение заголовков на следующую страницу (Microsoft Word)
Брюс хотел бы, чтобы любые абзацы заголовка 1 начинались в верхней части следующей страницы, если в противном случае они попадали бы в нижнюю 1/3 предыдущей страницы. Он задается вопросом, есть ли способ сделать это, возможно, с помощью макроса.
Word имеет встроенную возможность настраивать нумерацию страниц в зависимости от характеристик абзаца. (Заголовок — это тип абзаца, поэтому это применимо к заголовкам так же легко, как и к любому другому типу абзаца.) На вкладке «Строка и разрывы страниц» диалогового окна «Абзац» вы можете увидеть эти три параметра:
Разрыв страницы до. * Этот параметр, если он выбран, заставляет абзац всегда начинаться с верхней части следующей страницы.
Widow / Orphan Control. * Этот параметр, если он выбран, гарантирует, что если для абзаца требуется несколько строк, ни одна строка абзаца не останется одна внизу или вверху страницы. Хотя большинство заголовков состоят из одной строки, это удобная настройка для заголовков, если они требуют нескольких строк.
Keep with Next. * Этот параметр, если он выбран, гарантирует, что абзац останется с абзацем, который следует за ним. Это отлично подходит для заголовка, так как гарантирует, что заголовок должен состоять как минимум из двух строк абзаца, который следует за ним. (Предполагается, что следующий абзац отформатирован для Widow / Orphan Control.)
Хотя эти элементы управления великолепны, они не соответствуют потребностям Брюса, потому что ни один из них не приведет к переходу к следующей странице, если он обычно отображается в нижней трети страницы. Это означает, что Брюсу нужно придумать обходной путь, который достигнет того, чего он хочет.
Один из подходов — определить два стиля заголовка 1. Один из стилей можно считать «нормальным», то есть он будет отображаться в обычном потоке текста вашего документа. Другой стиль может быть основан на обычном заголовке 1, но для него может быть включен параметр «Разрыв страницы перед» (обсужденный ранее). Эти два стиля было бы очень легко использовать; все, что вам нужно сделать, это убедиться, что все обычные стили заголовка 1 используются во всем документе. Затем перед печатью вы можете вручную просмотреть документ, по одной странице за раз, и применить вторичный стиль заголовка 1 к тем заголовкам, которые расположены слишком далеко вниз по странице для вашего вкуса. Они автоматически перемещались в верхнюю часть следующей страницы, Word изменял формат документа, и вы могли продолжить сканирование заголовков, которые необходимо было переместить.
Обратный подход заключался бы в фактическом размещении ручных разрывов страниц перед всеми абзацами заголовка 1. Если затем вы выберете разрыв страницы и абзац «Заголовок 1», то сможете определить его как строительный блок, который впоследствии можно будет использовать для всех своих заголовков. (Просто вставьте строительный блок, а затем измените текст в фактическом абзаце заголовка.) Перед печатью вручную просмотрите документ и, если вы видите, что заголовок может быть перемещен на предыдущую страницу, удалите разрыв страницы, который находится только в перед абзацем заголовка. Word перемещает заголовок на предыдущую страницу, повторно разбивает документ, и вы можете продолжить поиск заголовков, которые можно переместить.
Если нижняя треть страницы не превышает 10 строк текста, вы можете использовать довольно новый подход к заголовкам: отформатируйте их буквицей. Буквица может иметь глубину до 10 строк; все, что вам нужно сделать, это убедиться, что «выпавший» символ очень и очень тонкий. Например, вы можете попробовать использовать заглавную букву I. Отформатируйте отдельный символ как очень маленький размер и сделайте его цвет белым. Затем выберите символ и сделайте его буквицей из 10 строк. Если буквица не помещается на странице, Word любезно перемещает ее на следующую страницу. Возможно, вам придется поиграть с некоторыми характеристиками форматирования, чтобы получить именно то, что вы хотите, но это единственный возможный обходной путь, который не требует какой-либо ручной обработки с вашей стороны.
Если вы хотите использовать макрос для форматирования, наиболее практичный подход состоит в том, чтобы макрос корректировал позиции любых абзацев заголовка 1 после завершения документа. Идея состоит в том, чтобы макрос выполнял поиск с начала документа, ища любые абзацы заголовка 1. Если он найден и находится на высоте более 66% от высоты страницы, то вставляется разрыв страницы, чтобы переместить заголовок на следующую страницу. Следующий макрос выполняет все эти задачи.
Sub AdjustHeading() Dim CursorVert As Single Dim Pgheight As Single Dim styleName As String styleName = "Heading 1" If ActiveDocument.Styles(styleName).ParagraphFormat.PageBreakBefore Then MsgBox styleName & " has 'Page break before' set. Run aborted" Exit Sub End If Selection.HomeKey unit:=wdStory With Selection.Find .ClearFormatting .Style = ActiveDocument.Styles(styleName) .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop End With Do While Selection.Find.Execute If Asc(Selection.Range.Characters(1)) = 12 Then Selection.MoveStart unit:=wdCharacter, Count:=1 End If With ActiveDocument.Sections(Selection.Information(wdActiveEndSectionNumber)).PageSetup CursorVert = Selection.Information(wdVerticalPositionRelativeToPage) - .TopMargin Pgheight = .PageHeight - .TopMargin - .BottomMargin End With If CursorVert > Selection.Style.ParagraphFormat.SpaceBefore Then If CursorVert / Pgheight > 0.66 And Len(Selection.Range) > 1 Then Selection.End = Selection.Start Selection.TypeText Chr(12) End If End If Selection.Start = Selection.End Loop End Sub
Чтобы этот макрос работал правильно, вы должны убедиться, что в вашем стиле заголовка 1 не установлен атрибут «Разрыв страницы перед».
Макрос определяет высоту страницы текущего раздела для размещения документов, высота страницы которых меняется от раздела к разделу.
Высота страницы рассчитывается путем вычитания верхнего и нижнего полей из высоты бумаги.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (12564) применим к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365.