我有几千个word,里面包含有表格,如何批量提取我想要的数据?
如果是一个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 DOCFor Each mTable In .Tables '循环文档中的各个表格WordApp.Activate '激活word程序,使之窗体前置mTable.Range.Copy '复制表格区域With Windows(1) '激活excel程序窗体,使之前置.ActivateWith ThisWorkbook.ActiveSheet '选中当前使用区A列下面的第一个单元格,并粘贴复制的word中的表格数据.Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select.PasteEnd WithEnd WithNext mTable.Close False '关闭word文档End WithEnd IfWendClose #1 '关闭清单文件If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt" '删除清单文件WordApp.Quit 'word程序项目关闭Set DOC = Nothing '清空对应项目变量Set WordApp = NothingEnd Sub满意请采纳哟~~~~~~
我有几百个word,里面包含有表格,如何批量提取我想要的第一个表格...
展开全部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 = false '设定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 DOCWho=-1 '标记要提取哪个表格Ti=-1'当前表格序号For Each mTable In .Tables '循环文档中的各个表格Ti=Ti+1if Ti=Who then '要提取的目标表格序号WordApp.Activate '激活word程序,使之窗体前置mTable.Range.Copy '复制表格区域With Windows(1) '激活excel程序窗体,使之前置.ActivateWith ThisWorkbook.ActiveSheet '选中当前使用区A列下面的第一个单元格,并粘贴复制的word中的表格数据.Cells(.Cells.SpecialCells(xlCellTypeLastCell).Row + 1, 1).Select.PasteEnd WithBreak '提取指定表格后,提前退出循环end ifEnd WithNext mTable.Close False '关闭word文档End WithEnd IfWendClose #1 '关闭清单文件If Dir(ThisWorkbook.Path & "\list.txt") "" Then Kill ThisWorkbook.Path & "\list.txt" '删除清单文件WordApp.Quit 'word程序项目关闭Set DOC = Nothing '清空对应项目变量Set WordApp = Nothingmsgbox "处理完毕!" & vbCrlf & "更多批量处理实用功能,请参见 百宝箱V10.0",64,“消息"End Sub
如何批量提取文本文件中的特定行文本文件是文字段落,和表格都有的...
展开全部 用查找替换实现:查找:O[0-9]{4}\(*\)勾选使用通配符替换为:空设置替换格式,如:字号1号,目的是与其它文本不同,为下一步做准备;全部替换;关闭查找对话框,选中刚刚替换的一个字符,右击,样式,选择格式相似文本,这时所有需要提取内容将被选中,复制,粘贴到新的文档中,完成提取内容。
...
批量提取一千多个WORD或EXCEL的个人申请表/简历表格的内容至...
展开全部 按照下面的步骤来就能达到你的效果了。
把excel中的名字批量导入到word文件中的同一位置:1、打开文字文档以后,先做好表格,接着找到文档中工具栏的“工具”按钮。
2、点击之后,就会弹出一个命令菜单,在其中找到“邮件合并工具栏”,点击“邮件合并工具栏”以后就会出现一个工具栏了。
3、在这个工具栏中找到图标,点击打开数据源。
4、接着就会出现一个选择框,选择好需要导入的数据源excel文件,点击确定。
5、接着鼠标点击要导入数据文档表格中的单元格,让光标在这个单元格总闪动,然后点击图标“插入合并域”。
6、接着选择要输入的项目,点击确定,就能看到单元格里出现了《姓名》,出生日期和性别也可以用同样的方法输入。
7、然后点击”合并到新文档“,在合并到新文档设置中选择要导入的数据起始行和结束行,点击确定。
8、接着会发现excel中的数据全部导入到了文档的表格里。
转载请注明出处51数据库 » 批量提取word特定表格
沈温柔阿