Доброго времени суток! Такая проблема, как сделать, чтобы при обработке таблиц в worde, было удаление таблиц с прозрачными границами?
Вариант 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