Нужно пройтись по документу и найти заголовки глав (глава первая, глава вторая и т. Д. - это должен быть массив, как я полагаю), затем вставить разрыв страницы перед словом «Глава» и завершить двумя разрывами строки после Номер главы.
Вместо того, чтобы копировать мой код для 20+ глав, как мне сделать это более эффективным, используя массив для терминов поиска и замены?
Sub ChapterHeadings()
'
' ChapterHeadings Macro
'
Dim Chapter As Variant
Chapter = Array("Chapter One", "Chapter Two", "Chapter Three", "Chapter Four", "Chapter Five")
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles( _
"Heading 1,Chapter Heading")
With Selection.Find
.Text = Chapter
.Replacement.Text = "^m"Chapter"^p^p"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub ChapterHeadings()
'
' ChapterHeadings Macro
'
'
' Copy and paste this for every chapter heading - this works!!!!!!!
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles( _
"Heading 1,Chapter Heading")
With Selection.Find
.Text = "Chapter One"
.Replacement.Text = "^mChapter One^p^p"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
При поиске заголовков глав он должен совпадать с тем, который установлен в массиве глав.
При совпадении он заменяет результаты на разрыв страницы (^ m), за которым следует заголовок главы, в котором он был первоначально найден, а затем два переноса строки (^ p ^ p).