在word中处理表格与在excel中处理表格是截然不同的。
如果要删除word表格中的行,可以使用Table对象的Rows属性返回具体的行,然后用Delete方法。
同理,如果要删除word表格中的列,可以使用Table对象的Columns属性返回具体的列,然后用Delete方法。
如果要判断是否为空行或者空列,可以遍历要判断的行或者列,统计下空白单元格的数量是否与总行数或者总列数一致,如果一致,表示当前行或者列均为空,然后就可以用上述的方法删除。
以下是批量删除word表格中的空白列的代码:
Sub QQ1722187970() Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oT As Table Dim oRng As Range Dim oCol As Column Dim oRow As Row Dim oCell As Cell With oDoc For Each oT In .Tables With oT iRow = .Rows.Count iCol = .Columns.Count For j = iCol To 1 Step -1 n = 0 For i = iRow To 1 Step -1 Set oCell = .Cell(i, j) '空白单元格含有两个字符Chr(13) & Chr(7) If oCell.Range.Text = Chr(13) & Chr(7) Then n = n + 1 End If Next i If n = iRow Then .Columns(j).Delete End If Next j End With Next End With End Sub
以下是批量删除word表格中的空白行的代码:
Sub QQ1722187970() Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oT As Table Dim oRng As Range Dim oCol As Column Dim oRow As Row Dim oCell As Cell With oDoc For Each oT In .Tables With oT iRow = .Rows.Count iCol = .Columns.Count For i = iRow To 1 Step -1 n = 0 For j = iCol To 1 Step -1 Set oCell = .Cell(i, j) '空白单元格含有两个字符Chr(13) & Chr(7) If oCell.Range.Text = Chr(13) & Chr(7) Then n = n + 1 End If Next j If n = iCol Then .Rows(i).Delete End If Next i End With Next End With End Sub
发表评论