Вопрос: MS Word: Как удалить все таблицы?


Мне нужно запустить программу проверки текста на моем документе (Grammarly), и мне нужно удалить все таблицы.

Как мне это сделать?

я нахожу https://www.extendoffice.com/documents/word/1208-word-remove-delete-all-tables.html , в котором вы можете использовать VBA

Sub Removetables ()
Dim oTable As Table
Each oTable In ActiveDocument.Tables
oTable.Delete
Next oTable
End Sub

но Each oTable In ActiveDocument.Tables дает мне ошибку, когда я запускаю ее. Я на MS Word 2013 на Mac


4
2018-05-23 06:29


Источник


Вы можете выбрать любую таблицу, а затем перейдите на вкладку «Макет» в разделе «Инструменты таблицы», затем нажмите «Преобразовать в текст». Это удалит таблицы и сделает их простым текстом. - iSR5


Ответы:


Вам не хватает For в For Each:

Sub Removetables ()
    Dim oTable As Table
    For Each oTable In ActiveDocument.Tables
    oTable.Delete
    Next oTable
End Sub

10
2018-05-23 06:38



Не думал, что это может быть так просто. Я вообще не знаком с VBA sytax. - cqcn1991
Возможно, вы захотите пройти через таблицы назад, удалив их с конца. - Lobachevsky
@ Лобачевский, почему? Не будет ли для каждого итерации, даже если он удален? Или это делает какую-то странную перенумерацию или что-то в этом роде? - Jake
@ Jake Страницы переустройства ... (я полагаю) ... Word любит выразить свою креативность с пространственной перегруппировкой (изображения, которые меняют страницу и т. д.):), Начиная с вас вы позволяете он (Слово) делать это еще раз ... (П * (п-1) / 2) с N таблицы вместо N, - Hastur