乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 批量提取word文件名及其路径

批量提取word文件名及其路径

作者:乔山办公网日期:

返回目录:excel表格制作


如果是一个word中的,复制粘贴;如果是多个word中的,需要写个代码(如下),或者在网上找一下相关的7a686964616fe58685e5aeb9362工具。
此方法适用于多个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 '循环文档中的各个表格

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

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

满意请采纳哟~~~~~~

建议去搜索相关的bat批处理命令

例如提取Word文件名:

dir d:\*.doc >> DocName.txt
如果是一个word中的,复制粘贴;如果是多个word中的,需要写e799bee5baa6e997aee7ad94e59b9ee7ad94331个代码(如下),或者在网上找一下相关的工具。
此方法适用于多个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 '循环文档中的各个表格

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

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

  • 新建一个文本文档,命名为文档列表,在里面输入【dir *.* /b> 文档列表.txt】,其中有三个空格,分别在dir和*之间,*和/之间,>和文档列表之间。

  • 输入完毕后保存,关闭文本。对文本进行重命名,将后缀txt改为bat,跳出警示框,直接确定。

  • 双击运行,文档列表.txt 就是你要的文件名列表

相关阅读

  • 批量提取word文件名及其路径

  • 乔山办公网excel表格制作
  • 如果是一个word中的,复制粘贴;如果是多个word中的,需要写个代码(如下),或者在网上找一下相关的7a686964616fe58685e5aeb9362工具。此方法适用于多个word文档里面的所有表格:1、将多个
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网