Подскажите, как выбрать (выделить) все таблицы.
Обычно выделять не надо. Можно просто пройтись по таблицам и обрабатывать каждую таблицу.
К тому же в ворде нельзя выделить с помощью макроса несмежные фрагменты.
Я не против такого варианта. Только не работает
Sub Макрос1()
Dim tbl As Table
On Error Resume Next
For Each tbl In ActiveDocument.Tables
With Selection.ParagraphFormat
.FirstLineIndent = CentimetersToPoints(1.25)
End With
Next tbl
End Sub
Selection относится к выделенному фрагменту.
Если у вас например выделен первый абзац в файле, а макрос перешёл к таблице 2, то какая взаимосвязь между Selection и таблицей 2? Выделенный первый абзац - это Selection, а таблица 2 это tbl.
Внутри таблицы делайте цикл по всем абзацам или используйте tbl.Range для доступа сразу ко всем абзацам.
В коде пишите tbl, ставьте точку и выбирайте нужное.
Спасибо! Вроде работает!
А как изменить макрос, чтобы это все работало только в выделенном фрагменте?
Макрос
Sub Макрос2()
Dim tbl As Table
For Each tbl In ActiveDocument.Tables
With tbl.Range
With .ParagraphFormat
.FirstLineIndent = CentimetersToPoints(0.25)
End With
End With
Next tbl
End Sub
Просматривайте таблицы в объекте Selection. Напишите в коде "Selection", поставьте точку, выберите Tables.
Selection - это то, что выделено, это выделение юзер видит на мониторе.