我有3个空单元格表的Word模板。代码完成后,我检查是否有每个表中的空单元格,如果表中包含空单元格,则代码删除该表,但如果表中有数据,则我需要在该表上方插入文本。3个表中每一个都有自己的特定文本。因此,对于word.document.tables(1),我需要输入文本“AAA”,对于word.document.tables(2),输入文本“BBB”...
问题是,如果我删除一个表,如果是空的,那么Word文档有2个表,我需要删除表(3),所以我得到错误,表(3)不存在。
我怎样才能得到表计数在每个循环?
谢谢!
Dim tbl As Table
For Each tbl In wDoc.Tables
If Len(tbl.Cell(1, 1).Range.Text) = 2 Then
tbl.Delete
Else
wDoc.tbl.Range.Collapse wdCollapseStart
wDoc.tbl.Range.Move wdParagraph, -1
If wDoc.Tables(b) = 1 Then
wDoc.Tables(b).Range.InsertBefore "AAA"
ElseIf wDoc.Tables(b) = 2 Then
wDoc.Tables(b).Range.InsertBefore "BBB"
ElseIf wDoc.Tables(b) = 3 Then
wDoc.Tables(b).Range.InsertBefore "CCC"
End If
End If
Next tbl
1条答案
按热度按时间wb1gzix01#
使用For循环从Tables集合的末尾开始循环例如
然后在
b
中有Table索引号,在tbl
中有Table对象