Автор Тема: Удалять таблицы с прозрачными границами  (Прочитано 1040 раз)

Rikk

  • Гость
Доброго времени суток! Такая проблема, как сделать, чтобы при обработке таблиц в worde, было удаление таблиц с прозрачными границами?

Оффлайн Администратор

  • Administrator
  • Сообщений: 1939
Re: Удалять таблицы с прозрачными границами
« Ответ #1 : 28 Август 2015, 09:10 »
Вариант 1
Макрос просматривает все границы в таблице

Sub Main()

    Dim tbl As Word.Table, i As Long
   
    For i = ActiveDocument.Tables.Count To 1 Step -1
        Set tbl = ActiveDocument.Tables(i)
        If (tbl.Borders.InsideLineStyle = wdLineStyleNone) And (tbl.Borders.OutsideLineStyle = wdLineStyleNone) Then
            tbl.Delete
        End If
    Next i
   
End Sub

Вариант 2
Макрос просматривает левую границу в первой ячейке. Этот макрос можно использовать, если первый вариант по каким-то причинам даёт неправильный результат (предполагаю, что возможны ситуации, что в таблице не будет границ, но результат будет неправильный).

Sub Main()

    Dim tbl As Word.Table, i As Long
   
    For i = ActiveDocument.Tables.Count To 1 Step -1
        Set tbl = ActiveDocument.Tables(i)
        If tbl.Cell(1, 1).Borders(wdBorderLeft).LineStyle = wdLineStyleNone Then
            tbl.Delete
        End If
    Next i
   
End Sub