Ms word 如何访问嵌套在另一个表中的范围内的表?

Ms word 如何访问嵌套在另一个表中的范围内的表?,ms-word,vsto,ms-office,Ms Word,Vsto,Ms Office,为了访问某个范围内的单个表(例如rngOuter),我使用了: tblOuter=rngOuter.表[1]; 在我将嵌套表放置在该外部范围的表中的某个范围内(例如rngInner)后,我发现: tblInner=rngInner.表[1]; 不起作用。表[1]引用的是tblOuter,而不是它本身中的表。 事实上,rngInner的Tables集合只有一个元素,那就是tblOuter。为了访问tblInner,我必须访问tblOuter.Range.Tables[1] 有人知道我是否犯了错误,

为了访问某个范围内的单个表(例如rngOuter),我使用了: tblOuter=rngOuter.表[1]; 在我将嵌套表放置在该外部范围的表中的某个范围内(例如rngInner)后,我发现: tblInner=rngInner.表[1]; 不起作用。表[1]引用的是tblOuter,而不是它本身中的表。 事实上,rngInner的Tables集合只有一个元素,那就是tblOuter。为了访问tblInner,我必须访问tblOuter.Range.Tables[1]

有人知道我是否犯了错误,或者是这样吗?

AFAIK“就是这样”,但您可以使用Cell.tables而不是Cell.Range.tables查找包含表的单元格。e、 g.在当前选择中查找包含您可以使用的表格的单元格

Sub listInnerTables()
Dim c As Cell
Dim r As Range
Dim t As Table
Dim tcount As Long
Set r = Selection.Range
If r.Tables.Count > 0 Then
  tcount = 0
  For Each t In r.Tables
    tcount = tcount + 1
    For Each c In t.Range.Cells
      If c.Range.InRange(r) Then
        If c.Tables.Count > 0 Then
          Debug.Print "Table: " & CStr(tcount) & _
            vbTab & " Row: " & CStr(c.RowIndex) & _
            vbTab & " Col: " & CStr(c.ColumnIndex) & _
            vbTab & " Table count: " & CStr(c.Tables.Count)
        End If
      End If
    Next
  Next
End If
Set r = Nothing
End Sub

非常感谢你。我最终确定了容器单元并做了类似的事情。