Вставка оглавления на стр. 2 - PullRequest
0 голосов
/ 05 июня 2018

Мне нужно создать оглавление, которое существует в верхней части страницы 2. В моем коде я импортирую настраиваемую титульную страницу (строительный блок), а также должен создать оглавление на основе текста вдокумент.Оглавление работает / работает отлично, оно просто не в том месте.

    Sub TitlePage()
    Application.Templates( _
        mypath). _
        BuildingBlockEntries("BuildingBlockName").Insert Where:=Selection.Range, RichText:=True
End Sub
Sub ToC()
Selection.GoTo what:=wdGoToLine, Which:=wdGoToAbsolute
Selection.EscapeKey
Selection.Range.InsertBreak
Selection.GoTo what:=wdGoToPage, Which:=wdGoToNext
Selection.EscapeKey
ActiveDocument.TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _
     True, UseHeadingStyles:=True, IncludePageNumbers:=True, _
     UseHyperlinks:=True, HidePageNumbersInWeb _
     :=True, UseOutlineLevels:=False
End Sub

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

PS Я знаю, что совершил грех, используя свойство selection.Это должно было перейти к первой строке, затем ко второй странице, затем, чтобы выйти из выделения, и вставить ToC, где курсор был последним.Я в отчаянии.

1 Ответ

0 голосов
/ 07 июня 2018

Как насчет чего-либо, основанного на:

Sub ToCAndTitle()
With ActiveDocument
  'Insert a Section break before existing content
  .Range(0, 0).InsertBreak Type:=wdSectionBreakNextPage
  .TablesOfContents.Add Range:=.Range(0, 0), RightAlignPageNumbers:=True, _
     UseHeadingStyles:=True, IncludePageNumbers:=True, UseHyperlinks:=True, _
     HidePageNumbersInWeb:=True, UseOutlineLevels:=False
  'Insert a page break before existing content
  .Range(0, 0).InsertBreak Type:=wdPageBreak
  Application.Templates(mypath).BuildingBlockEntries("BuildingBlockName").Insert Where:=.Range(0, 0), RichText:=True
End With
End Sub

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

...