1

Я нахожусь в ситуации, когда мне нужно превратить отчет в формате HTML в текстовый отчет, в котором нет ничего, кроме Ctrl+C или открытия его с помощью Word. Я получаю много вложенных таблиц.

Проблема заключается в том, что CSS форматирует таблицу в HTML, тогда как в документе Word они остаются с ужасно выглядящими границами, которые должны быть невидимыми.

Чтобы сделать границы каждой таблицы невидимыми, потребовалось бы много времени.

Есть ли способ сделать все границы каждой таблицы в документе невидимыми?

1 ответ1

4

Создайте макрос в Word, используя следующий код:

Sub SelectAllTables()
    Dim tbl As Table
    Application.ScreenUpdating = False
    For Each tbl In ActiveDocument.Tables
        tbl.Range.Editors.Add wdEditorEveryone
    Next
    ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
    ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
    Application.ScreenUpdating = True
End Sub

Запустите макрос, чтобы выбрать все таблицы, затем вы можете изменить их границы за один раз:

1


Редактировать: Хорошо, это должно быть в состоянии рекурсивно обрабатывать вложенные таблицы на любом уровне:

Sub SelectAllTables()
    Dim tbl As Table
    For Each tbl In ActiveDocument.Tables
        DelTableBorder tbl
    Next
End Sub

Function DelTableBorder(tbl As Table)
    Dim itbl As Table
    tbl.Borders(wdBorderLeft).Visible = False
    tbl.Borders(wdBorderRight).Visible = False
    tbl.Borders(wdBorderTop).Visible = False
    tbl.Borders(wdBorderBottom).Visible = False
    tbl.Borders(wdBorderVertical).Visible = False
    tbl.Borders(wdBorderHorizontal).Visible = False
    tbl.Borders(wdBorderDiagonalUp).Visible = False
    tbl.Borders(wdBorderDiagonalDown).Visible = False
    For Each itbl In tbl.Tables
        DelTableBorder itbl
    Next
End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .