谁能告诉我,为什么当我运行这段代码时,它跳过了 tbl.Range.Rows(i).Delete(删除)。 当我的表中有行是空的时候,这一行是什么?
谢谢
黛比
Dim i As LongDim tbl As Table
Set tbl = ActiveDocument.Tables(2)
For i = tbl.Range.Rows.Count To 1 Step -1
With tbl
If IsEmpty(tbl.Range.Rows(i)) = True Then
tbl.Range.Rows(i).Delete
End If
End With
Next
简单的答案是,在Word中,一行永远不会是空的--它总是包含单元格和行结束的字符。试试吧。
Dim r As Long
With ActiveDocument.Tables(2)
For r = .Rows.Count To 1 Step -1
With .Rows(r)
If Len(.Range.Text) = .Cells.Count * 2 + 2 Then .Delete
End With
Next r
End With
请注意,如果表格中的单元格是垂直合并的,上面的代码就不起作用了。