VBA 一键提取Word中表格内容

Sub 提取表格()
Dim wdapp As Object, wdoc As Object
    fpath = ThisWorkbook.Path
    fname = Sheets(1).Cells(1, 2)
    pctpath = Sheets(1).Cells(2, 2)
    rowstart = Sheets(1).Range("A10000").End(xlUp).Row
    
    item1 = Sheets(1).Cells(6, 1)
    yesno = Dir(fpath & "\" & fname & ".doc*")
    If yesno <> "" Then
    Set wdapp = CreateObject("Word.Application")
    wdapp.Visible = True
    Set wdDoc = wdapp.Documents.Open(fpath & "\" & yesno)
     tcount = wdDoc.Tables.Count
     For i = 1 To tcount
     r = 0
     With wdDoc.Tables(i)
     On Error Resume Next
        For j = 1 To .Rows.Count
            For k = 1 To .Columns.Count
            y = Application.WorksheetFunction.clean(Replace(.cell(j, k).Range.Text, "", ""))
            Debug.Print y, .Columns.Count, k
            Sheets(1).Cells(rowstart + i, r + k) = Application.WorksheetFunction.clean(Replace(.cell(j, k).Range.Text, "", ""))
            Next
            r = r + .Columns.Count
        Next
     End With
     Next
     End If

 
    wdDoc.Close
    wdapp.Quit
    Set wdTable = Nothing
    Set wdDoc = Nothing
    Set wdapp = Nothing
    MsgBox "完成!"
End Sub

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel VBA实现批量提取Word表格内容可以通过以下步骤进行: 1.首先,在Excel的工作簿打开Visual Basic Editor(VBE)。 2.在VBE的工具栏上,选择“插入”→“模块”,在模块编写VBA代码。 3.在编写代码之前,确保已经添加对Microsoft Word对象库的引用。可以通过在VBE选择“工具”→“引用”来添加引用。 4.在VBA代码的模块,使用Word对象变量来打开Word文档。例如,可以使用以下代码打开一个名为"Document1.docx"的Word文档: ``` Dim wdApp As Word.Application Dim wdDoc As Word.Document Set wdApp = New Word.Application Set wdDoc = wdApp.Documents.Open("C:\路径\Document1.docx") wdApp.Visible = True ``` 5.接下来,使用“With”语句和对象变量来引用Word文档表格,然后遍历表格的每个单元格,并将其值复制到Excel工作表。 ``` With wdDoc For Each tbl In .Tables For Each cell In tbl.Range.Cells '将单元格值复制到Excel工作表的指定位置 Worksheets("Sheet1").Cells(rowNum, colNum).Value = cell.Range.Text '更新行号和列号 rowNum = rowNum + 1 colNum = colNum + 1 Next cell Next tbl End With ``` 6.在代码结束时,记得关闭Word文档和应用程序对象。 ``` wdDoc.Close wdApp.Quit Set wdDoc = Nothing Set wdApp = Nothing ``` 以上步骤将通过Excel VBA实现一键批量提取Word表格内容。可以根据具体需求进行适当的修改和调整,如指定目标表格的位置、添加错误处理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值