Если упрощенно, то задача у меня такая. В вордовском файле есть слово, мне нужно его найти и создать там таблицу. Таблицу я создам, мне важно расположить ее в нужном месте. Подскажите пожалуйста, как сделать.
Макрос
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
Спасибо большое, всё очень понятно. Сейчас попробую.
Замечательно работает. Я чуть-чуть подправил для оформления таблицы:
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)