如何导出Word文档中的所有表以分开Excel工作表

新的VBA,下面是我的Word VBA代码尝试和阅读Word文档中的所有表来分离Excel工作表(每个表一个)。 我遇到一个错误:

WS.Cells(i, j) = myTable.Cell(i, j) 

说:

请求的收集成员不存在

经过一些故障排除后,问题似乎与myTable.Cell(i,j),但每个表的大小应该处理…? 想法,build议? 谢谢!

 Sub ReadTablesToExcel() Dim myTable As Table Dim RowsCount As Integer Dim ColumnsCount As Integer Dim oExcel As Object Set oExcel = CreateObject("Excel.Application") Dim oExcel1 As Object Set oExcel1 = oExcel.Workbooks.Open("C:\Users\Mike\Desktop\Book3.xlsx") For Each myTable In ActiveDocument.Tables Dim WS As Object Set WS = oExcel1.Activesheet RowsCount = myTable.Rows.Count ColumnsCount = myTable.Columns.Count For i = 1 To RowsCount For j = 1 To ColumnsCount WS.Cells(i, j) = myTable.Cell(i, j) Next j Next i Next myTable ActiveDocument.Repaginate End Sub 

您的代码可能已经运行而不会抛出错误。 我添加了只是为每个表添加新工作表的代码。

这可以工作:(Windows XP,Office 2007)

 Sub ReadTablesToExcel() Dim myTable As Table Dim RowsCount As Integer Dim ColumnsCount As Integer Dim oExcel As Object Set oExcel = CreateObject("Excel.Application") Dim oExcel1 As Object Set oExcel1 = oExcel.Workbooks.Open("C:\Users\Mike\Desktop\Book3.xlsx") For Each myTable In ActiveDocument.Tables Dim WS As Object oExcel1.Sheets.Add Set WS = oExcel1.ActiveSheet RowsCount = myTable.Rows.Count ColumnsCount = myTable.Columns.Count For i = 1 To RowsCount For j = 1 To ColumnsCount WS.Cells(i, j) = myTable.Cell(i, j) Next j Next i Next myTable oExcel1.Close (True) 'Closes the workbook by saving changes. Set oExcel1 = Nothing ActiveDocument.Repaginate End Sub