Код в вопросе находится на правильном пути с использованием объекта Section
, LinkToPrevious
и Range.Delete
.Генерация дополнительной страницы:
Selection.InsertNewPage
Строка Selection.InsertBreak Type:=wdSectionBreakNextPage
уже создает новую страницу.
FWIW, код, который я использовал бы, был бы в принципе таким же, но работал быс Range
вместо Selection
объекта.Работа с Range
, как правило, выполняется быстрее и имеет минимальное мерцание экрана.Это также имеет тенденцию быть более точным, и легче определить, на что влияет код.Я предоставляю это в информационных целях: -)
Sub NewPageSectionNoHF()
Dim doc As Word.Document
Dim rng As Word.Range
Dim sec As Word.Section
Dim hf As Word.HeaderFooter
Set doc = ActiveDocument
Set rng = doc.content
rng.Collapse wdCollapseEnd
rng.InsertBreak Word.WdBreakType.wdSectionBreakNextPage
Set sec = rng.Sections(1)
Set hf = sec.Headers(wdHeaderFooterPrimary)
hf.LinkToPrevious = False
hf.Range.Delete
Set hf = sec.Footers(wdHeaderFooterPrimary)
hf.LinkToPrevious = False
hf.Range.Delete
End Sub