批量提取word中所有表格中的信息到excel
时间: 2023-09-19 10:10:52 浏览: 210
如果你想批量提取Word文档中的所有表格数据到Excel,你可以使用以下代码:
```
Sub ExtractWordData()
Dim wrdApp As Object
Dim wrdDoc As Object
Dim tbl As Object
Dim i As Long, j As Long, k As Long
Dim ws As Worksheet
'创建一个新的Word应用程序对象
Set wrdApp = CreateObject("Word.Application")
'禁用屏幕更新
wrdApp.ScreenUpdating = False
'打开Word文档
Set wrdDoc = wrdApp.Documents.Open("C:\your\file\path\filename.docx")
'将每个表格的数据复制到Excel
Set ws = ThisWorkbook.Sheets(1)
k = 1
For Each tbl In wrdDoc.Tables
For i = 1 To tbl.Rows.Count
For j = 1 To tbl.Columns.Count
ws.Cells(k, j).Value = tbl.Cell(i, j).Range.Text
Next j
k = k + 1
Next i
Next tbl
'关闭Word文档和应用程序对象
wrdDoc.Close
wrdApp.Quit
'启用屏幕更新
Application.ScreenUpdating = True
'清空对象变量
Set wrdDoc = Nothing
Set wrdApp = Nothing
Set tbl = Nothing
Set ws = Nothing
End Sub
```
这段代码与前面提供的代码相似,但是它使用了一个ForEach循环来遍历Word文档中的每个表格。然后,我们使用嵌套的For循环将每个表格中的数据复制到Excel工作表中。
请注意,此代码仅处理第一个工作表。如果你想将表格数据复制到其他工作表,请更改“ws”对象的引用,或者使用另一个ForEach循环来遍历所有工作表。
阅读全文