Это старая версия документа.
В шаблоне отчета стандартными средствами может быть вставлено Оглавление - содержание документа с указанием разделов и их страниц. При обработке документа макросом может возникнуть смещение заголовков с исходных страниц. Данные о номерах страниц в Оглавлении останутся не обновлёнными сразу после формирования отчета.
Необходимо, чтобы после выполнения макроса, Оглавление в документе полностью соответствовало истинному положению заголовков на страницах.
Решение описывается с момента, когда уже есть некоторый отчет со своим макросом. В шаблоне отчета задано Оглавление.
Вместо того чтобы обновлять существующее Оглавление, в конце выполнения макроса сделаем добавление Оглавления в указанное место в документе. Имеющееся же Оглавление в шаблоне отчета удаляем.
Перед местом вставки Оглавления вставляет закладку с названием "Оглавление".
Удаляем текущее поле вставки Оглавления.
Sub ПослеВыполненияОтчета(ob As Variant, app As Variant) ContentsBkmN часть ContentsBkmName = "Оглавление" вки 'Код другой части макроса ляющее место вставки роса 'ВСТАти макроса МАКРОСА 'я часть адке Selection.GoTo Whти макроса Name 'Непосредственное добавлен В КОНЦЕ МАКРОСА 2 With ActiveDocument .Tвленной закладке Selection.GoTo What:=wdGoToBookmark, Name:=ContentsBkmName _ UseHeadingStyles:=True, _авление Оглавления LowerHeadingLeveовков 1 и 2 With ActiveDocument .TablesOfContents.Add _ Range:=Selection.Range, _ RightAlignPageNumbers:=True, _ UseHeadingStyles:=True, _ UpperHeadingLevel:=1, _ LowerHeadingLevel:=2, _ IncludePageNumbers:=True, _ Ad