我已经搜索了该论坛,并找到了与同一错误消息相关的几篇文章。但是,没有一个与我的问题有关。
我在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),则抛出标题错误消息。有什么作用?
答案 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