在word中表格里面还可以插入表格。
凡是表格里面又有表格的,就可以称为嵌套表格。
在word vba 中Table对象的NestingLevel属性可以返回表格所在的嵌套层级,最外层的表格为1,往里依次增加。
由于嵌套的层级数未知,所以要用递归来遍历所有word的嵌套表格,代码如下:
Sub exceloffice()
'作者QQ:1722187970,微信:xycgenius,微信公众号exceloffice
Dim oDoc As Document
Set oDoc = Word.ActiveDocument
Dim oT1 As Table
Dim oT2 As Table
With oDoc
'遍历第一层表格
For Each oT1 In .Tables
If oT1.Tables.Count > 0 Then
Debug.Print oT1.Cell(1, 1).Range.Text, oT1.NestingLevel
'遍历下一级表格
For Each oT2 In oT1.Tables
Call xyf(oT2)
Next
Else
Debug.Print oT1.Cell(1, 1).Range.Text, oT1.NestingLevel
End If
Next
End With
End Sub
Sub xyf(oT As Table)
Dim oT1 As Table
If oT.Tables.Count > 0 Then
Debug.Print oT.Cell(1, 1).Range.Text, oT.NestingLevel
'遍历下一级表格
For Each oT1 In oT.Tables
Call xyf(oT1)
Next
Else
Debug.Print oT.Cell(1, 1).Range.Text, oT.NestingLevel
End If
End Sub


发表评论