Bruce는 이전 페이지의 하위 1/3에 해당하지 않는 경우 제목 1 단락이 다음 페이지의 상단에서 시작하도록하고 싶습니다. 그는 아마도 매크로를 사용하여이를 수행 할 수있는 방법이 있는지 궁금합니다.

Word에는 단락의 특성에 따라 페이지 매김을 조정하는 기본 제공 기능이 있습니다. (제목은 단락 유형이므로 다른 유형의 단락과 마찬가지로 쉽게 제목에 적용됩니다.) 단락 대화 상자의 줄 및 페이지 나누기 탭에서 다음 세 가지 설정을 볼 수 있습니다.

이전 페이지 나누기 *이 설정을 선택하면 단락이 항상 다음 페이지의 맨 위에서 시작됩니다.

Widow / Orphan Control. *이 설정을 선택하면 단락에 여러 줄이 필요한 경우 단락의 한 줄이 페이지의 맨 아래 또는 맨 위에 홀로 남아 있지 않도록합니다. 대부분의 제목이 한 줄이지 만 여러 줄이 필요한 경우 제목에 대한 편리한 설정입니다.

다음과 함께 유지. *이 설정을 선택하면 단락이 다음 단락과 함께 유지됩니다. 이것은 제목이 그 뒤에 오는 단락의 두 줄 이상이 있어야하므로 제목에 적합합니다. (이는 Widow / Orphan Control에 대해 형식이 지정된 다음 단락이 있다고 가정합니다.)

이러한 컨트롤은 환상적이지만 일반적으로 페이지의 하단 3 분의 1에 표시되는 경우 다음 페이지로 제목을 강제하지 않기 때문에 Bruce의 요구를 충족시키지 못합니다. 이것은 Bruce가 자신이 원하는 것을 달성 할 수있는 해결 방법을 찾아야한다는 것을 의미합니다.

한 가지 방법은 두 개의 제목 1 스타일을 정의하는 것입니다. 스타일 중 하나는 “일반”으로 간주 될 수 있습니다. 즉, 문서 텍스트의 정상적인 흐름에 나타납니다. 다른 스타일은 일반 제목 1을 기반으로 할 수 있지만 이전에 논의한 페이지 나누기 설정을 활성화 할 수 있습니다. 이 두 가지 스타일은 사용하기 매우 쉽습니다. 문서 전체에서 모든 일반 제목 1 스타일이 사용되는지 확인하기 만하면됩니다. 그런 다음 인쇄하기 전에 한 번에 한 페이지 씩 수동으로 문서를 살펴보고 원하는 페이지에서 너무 아래에있는 제목에 보조 제목 1 스타일을 적용 할 수 있습니다. 자동으로 다음 페이지의 맨 위로 이동되고 Word는 문서의 페이지를 다시 매기 며 이동해야하는 제목을 계속 스캔 할 수 있습니다.

반대의 접근 방식은 실제로 모든 제목 1 단락 앞에 수동 페이지 나누기를 배치하는 것입니다. 그런 다음 페이지 나누기와 제목 1 단락을 선택하면 나중에 모든 제목에 사용할 수있는 구성 요소로 정의 할 수 있습니다. (빌딩 블록을 삽입 한 다음 실제 제목 단락의 텍스트를 수정하기 만하면됩니다.) 인쇄하기 전에 문서를 수동으로 살펴보고 제목이 이전 페이지로 이동할 수있는 경우 바로 앞에있는 페이지 나누기를 삭제하십시오. 제목 단락의 앞. Word는 제목을 이전 페이지로 이동하고 문서의 페이지를 다시 매기 며 이동할 수있는 제목을 계속 스캔 할 수 있습니다.

페이지의 하단 1/3이 10 줄의 텍스트보다 깊지 않은 경우 제목에 다소 새로운 접근 방식을 사용할 수 있습니다. 드롭 캡으로 서식을 지정합니다. 드롭 캡은 최대 10 줄까지 가능합니다. 당신이해야 할 일은 “dropped”캐릭터가 아주 아주 얇은 무언가인지 확인하는 것입니다. 예를 들어 대문자 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 스타일에 Page Break Before 속성이 설정되어 있지 않은지 확인해야합니다.

매크로는 섹션마다 페이지 높이가 다른 문서를 수용하기 위해 현재 섹션의 페이지 높이를 결정합니다.

페이지 높이는 용지 높이에서 위쪽 및 아래쪽 여백을 빼서 계산됩니다.

_ 참고 : _

이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 인기있는 워드 프로세싱 소프트웨어입니다.)이 팁 (12564)은 Microsoft Word 2007, 2010, 2013, 2016, 2019 및 Office 365의 Word에 적용됩니다.