将word中表格批量导入到Excel

数据导出 专栏收录该内容
5 篇文章 0 订阅

	如果是一个word中的,复制粘贴。
	如果是多个word中的,需要写个代码(如下),或者在网上找一下相关的工具。
此方法适用于多个word文档里面的所有表格:
1、将多个含有表格的word文档放入一个目录;
2、在该目录中新建一个空的excel表格
3、在excel表格中运行以下宏命令,即可。



Sub WordTabletoExcel()

Dim WordApp As Object, DOC, mTable, Fn$, Str$
On Error Resume Next    '设置容错代码
CreateObject("wscript.shell").Run "cmd.exe /c dir """ & ThisWorkbook.Path & "\*.doc"" /s/b>""" & ThisWorkbook.Path & "\list.txt""", False, True     '取得指定目录下的word文档清单
Set WordApp = CreateObject("word.application")  '创建word程序项目(用于操作word文档)
WordApp.Visible = True  '设定word程序项目可见
Open ThisWorkbook.Path & "\list.txt" For Input As #1    '打开清单文件并读取内容
While Not EOF(1)    '循环读取清单文件各行内容
Input #1, Str   '输入一行文本到变量str中
If Trim(Str) <> "" Then '如果文本有效则
Set DOC = WordApp.Documents.Open(Trim(Str)) '利用word程序项目打开对应的word文档
With DOC
For Each mTable In .Tables  '循环文档中的各个表格

If Mid(mTable.Cell(1, 1).Range.Text, 1, 4) = "水库名称"  and   Mid(mTable.Cell(1, 1).Range.Text, 1, 4) <> "水库名称" Then      '判断第一行第一列的名称

'整个表格复制
       WordApp.Activate    '激活word程序,使之窗体前置
mTable.Range.Copy   '复制表格区域
With Windows(1)     '激活excel程序窗体,使之前置
.Activate
With ThisWorkbook.ActiveSheet   '选中当前使用区A列下面的第一个单元格,并粘贴复制的word中的表格数据
.Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select
.Paste
End With
End With


'获取某个关键字值
For Each MyRng In MyTable.Range.Cells
                With MyRng.Range.Find
                    .Text = "关键字"
                   .Execute
                   If .Found Then
                        Sheets(1).[b65536].End(3).Offset(1) = Replace(MyRng.Next.Range, Chr(7), "")
                    End If
                End With
            Next MyRng

    End If


Next mTable
.Close False    '关闭word文档
End With
End If
Wend
Close #1    '关闭清单文件
If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt"     '删除清单文件
WordApp.Quit    'word程序项目关闭
Set DOC = Nothing   '清空对应项目变量
Set WordApp = Nothing
End Sub


  • 4
    点赞
  • 2
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值