返回目录:word文档
前阵子做的一个案例,Excel批量提取Word简历中的内容,分享给大家。
知识点:
- Dir函数配合循环,遍历文件框架
- Word VBA中的Table表格对象
- Word VBA中的Table表格对象
- 工作表Clean函数
下面看下具体案例:
待提取的Word文件
Word具体内容格式(敏感信息已做处理)
思路:
循环打开Word文档,因为简历格式固定,所以可以直接从word文档中第一个Table,根据具体位置获取内容(也就是cell对象)。
结合头条前面的两篇文章Excel提取Word信息(一)「纯干货」和Excel提取Word表格数据(二)「收藏备用」,可以轻松完成以下代码的书写。
Sub 提取数据() On Error Resume Next n = 1 Set doc = CreateObject("word.application") f = Dir(ThisWorkbook.Path & "*.doc") Do While f <> "" n = n + 1 Set wd = doc.documents.Open(ThisWorkbook.Path & "" & f) doc.Visible = True With doc.documents(1).Tables(1) Cells(n, 1) = l(.cell(1, 2).Range) '姓名 Cells(n, 2) = l(.cell(2, 2).Range) '出生年月 Cells(n, 3) = l(.cell(4, 2).Range) '最高学历 Cells(n, 4) = l(.cell(5, 4).Range) '毕业学校 Cells(n, 5) = l(.cell(6, 2).Range) '职称 Cells(n, 6) = l(.cell(8, 4).Range) '邮箱 End With f = Dir wd.Close False Loop doc.Quit MsgBox "完成!"End SubFunction l(a) l = WorksheetFunction.Clean(a)'清除换行符,否则读取出来会有一个小黑点或者小方块End Function
具体效果如下:
不用邮件合并,批量提取简历就是这么简单!