Word Макросы: Как вставить таблицу в нужное место в файле

Автор Dendro, 07 марта 2017, 18:49

Dendro

Если упрощенно, то задача у меня такая. В вордовском файле есть слово, мне нужно его найти и создать там таблицу. Таблицу я создам, мне важно расположить ее в нужном месте. Подскажите пожалуйста, как сделать.

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

Макрос
Sub Макрос()

    Dim rng As Range, tbl As Table
   
    '1. Поиск метки, вместо которой надо вставить таблицу.
    With ActiveDocument.Range.Find
        .text = "метка"
        .MatchCase = True
        .MatchWholeWord = True
        .Execute
        ' Присваивание имени "rng" фрагменту файла, где находится метка.
        Set rng = .Parent
    End With
   
    '2. Вставка таблицы вместо метки и присваивание таблице имени "tbl".
        ' Далее в коде можно обращаться к вставленной таблице по имени "tbl".
    Set tbl = ActiveDocument.Tables.Add(Range:=rng, NumRows:=1, NumColumns:=2)

End Sub
[свернуть]

Dendro

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

Dendro

Замечательно работает. Я чуть-чуть подправил для оформления таблицы:

    Dim rng As Range, tbl As Table
   
    '1. Поиск метки, вместо которой надо вставить таблицу.
    With ActiveDocument.Range.Find
        .Text = "метка"
        .MatchCase = True
        .MatchWholeWord = True
        .Execute
        ' Присваивание имени "rng" фрагменту файла, где находится метка.
        Set rng = .Parent
    End With
   
    '2. Вставка таблицы вместо метки и присваивание таблице имени "tbl".
        ' Далее в коде можно обращаться к вставленной таблице по имени "tbl".
    Set tbl = ActiveDocument.Tables.Add(Range:=rng, NumRows:=3, NumColumns:=3, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed)