如何将多个WORD里的表格合并到一个EXCEL表里 20
求助,用WORD统计了员工的家庭成员信息,每人一个WORD表,现需将所有WORD表格汇总到1张EXCEL表格里,要求将表头的员工姓名和身份证号放到前2列,家庭成员信息放后...
求助,用WORD统计了员工的家庭成员信息,每人一个WORD表,现需将所有WORD表格汇总到1张EXCEL表格里,要求将表头的员工姓名和身份证号放到前2列,家庭成员信息放后面。
展开
4个回答
展开全部
这个还是得使用VBA来实现。给出以下示例代码:
Sub 提取文件()
On Error Resume Next '屏蔽错误,遇到错误继续运行
Dim wordapp As Object, mytab As Object
Dim mydoc
Dim dirpath$, docname$, myfile$
'创建word应用程序对象
Set wordapp = CreateObject("word.application")
'定义word文件存放路径
dirpath = ThisWorkbook.Path & "/word/"
'获取路径下word文档合集
myfile = Dir(dirpath & "*.docx")
i = 2
'循环读取文件夹下文档
Range("a2:h10000").ClearContents
Do While myfile <> ""
'打开文件
Set mydoc = wordapp.Documents.Open(dirpath & myfile)
'获取表格对象
Set mytab = mydoc.tables(1)
'获取word单元格内容,存储到excel
Cells(i, 1) = tt(mytab.Cell(1, 2).Range.Text)
Cells(i, 2) = tt(mytab.Cell(1, 4).Range.Text)
Cells(i, 3) = tt(mytab.Cell(2, 2).Range.Text)
Cells(i, 4) = tt(mytab.Cell(3, 2).Range.Text)
Cells(i, 5) = tt(mytab.Cell(4, 2).Range.Text)
Cells(i, 6) = tt(mytab.Cell(4, 4).Range.Text)
Cells(i, 7) = tt(mytab.Cell(5, 2).Range.Text)
Cells(i, 8) = tt(mytab.Cell(5, 4).Range.Text)
myfile = Dir
i = i + 1
Loop
'关闭文档
mydoc.Close False
'退出word应用程序
wordapp.Quit
End Sub
'自定义函数,用于截断获取内容的最后一个特殊字符
Function tt(rtext)
tt = Left(rtext, Len(rtext) - 1)
End Function
Sub 提取文件()
On Error Resume Next '屏蔽错误,遇到错误继续运行
Dim wordapp As Object, mytab As Object
Dim mydoc
Dim dirpath$, docname$, myfile$
'创建word应用程序对象
Set wordapp = CreateObject("word.application")
'定义word文件存放路径
dirpath = ThisWorkbook.Path & "/word/"
'获取路径下word文档合集
myfile = Dir(dirpath & "*.docx")
i = 2
'循环读取文件夹下文档
Range("a2:h10000").ClearContents
Do While myfile <> ""
'打开文件
Set mydoc = wordapp.Documents.Open(dirpath & myfile)
'获取表格对象
Set mytab = mydoc.tables(1)
'获取word单元格内容,存储到excel
Cells(i, 1) = tt(mytab.Cell(1, 2).Range.Text)
Cells(i, 2) = tt(mytab.Cell(1, 4).Range.Text)
Cells(i, 3) = tt(mytab.Cell(2, 2).Range.Text)
Cells(i, 4) = tt(mytab.Cell(3, 2).Range.Text)
Cells(i, 5) = tt(mytab.Cell(4, 2).Range.Text)
Cells(i, 6) = tt(mytab.Cell(4, 4).Range.Text)
Cells(i, 7) = tt(mytab.Cell(5, 2).Range.Text)
Cells(i, 8) = tt(mytab.Cell(5, 4).Range.Text)
myfile = Dir
i = i + 1
Loop
'关闭文档
mydoc.Close False
'退出word应用程序
wordapp.Quit
End Sub
'自定义函数,用于截断获取内容的最后一个特殊字符
Function tt(rtext)
tt = Left(rtext, Len(rtext) - 1)
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
----57132899----
单个WORD是表格的话,就可以录制宏来完成
单个WORD是表格的话,就可以录制宏来完成
追问
附件2就是WORD的表格形式,然后转化为后面图片的EXCEL表格格式,WORD里的表格前面要加上2列员工信息和身份证号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询