Word VBA Макросы. Как подставить таблицу в начало нескольких таблиц?

Автор Кипарис, 08 июня 2021, 09:40

Кипарис

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

Администратор

Есть два варианта:
1) можно вставить таблицу-шапку в колонтитул и таблица-шапка будет видна на всех страницах;
2) можно вставить таблицу-шапку в верх каждой таблицы (этот способ вы предлагаете).

Эти макросы вставляют таблицу-шапку в начало каждой таблицы. Выкладываю два варианта, они делают одно и то же, но используются разные инструменты, выберите, какой лучше.
Перед запуском макроса скопируйте таблицу-шапку, затем перейдите в файл, в котором таблицы, и запустите макрос.

Sub Макрос1()
   
    Dim Табл As Table
   
    For Each Табл In ActiveDocument.Tables
        Табл.Cell(2, 2).Range.PasteAsNestedTable
    Next Табл

End Sub

Sub Макрос2()
   
    Dim Табл As Table
   
    For Each Табл In ActiveDocument.Tables
        Табл.Cell(2, 2).Range.PasteSpecial Link:=False, DataType:=wdPasteHTML, Placement:=wdInLine
    Next Табл

End Sub

Кипарис

Спасибо, пока не определился, какой вариант лучше.