MS Word表-所请求的集合成员不存在

时间:2019-06-19 13:04:17

标签: excel vba ms-word

我已经搜索了该论坛,并找到了与同一错误消息相关的几篇文章。但是,没有一个与我的问题有关。

我在Word中有一个具有以下属性的表:

wddoc.tables(1).Rows.Count : 15 
wddoc.tables(1).Columns.Count : 4 

我试图使用以下代码将表复制到Excel:

For m = 1 To 15
For l = 1 To 4
ActiveSheet.Cells(m, l) = wdDoc.Tables(1).Cell(m, l)
Next l
Next m

该代码对于前三行工作正常,但是当它到达第四行时(m = 4,l = 1),则抛出标题错误消息。有什么作用?

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法处理每一行中不同数量的单元格,例如拆分或合并中的单元格:

For m = 1 To wdDoc.Tables(1).Rows.Count
    For l = 1 To wdDoc.Tables(1).Rows(m).Cells.Count
        ActiveSheet.Cells(m, l) = wdDoc.Tables(1).Cell(m, l)
    Next l
Next m

然后稍微整理一下

With wdDoc.Tables(1)
    For m = 1 To .Rows.Count
        For l = 1 To .Rows(m).Cells.Count
            ActiveSheet.Cells(m, l) = .Cell(m, l)
        Next l
    Next m
End With

希望有帮助

答案 1 :(得分:0)

要从合并或拆分单元格的Word表中获取正确的结果,请使用以下代码:

Dim wdCell As Object
For Each wdCell In wddoc.Tables(1).Range.Cells
  With wdCell
    ActiveSheet.Cells(.RowIndex, .ColumnIndex) = .Range.Text
  End With
Next