前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ExcelVBA一键导入Word简历信息到 EXCEL中

ExcelVBA一键导入Word简历信息到 EXCEL中

作者头像
哆哆Excel
发布2022-10-25 11:11:32
8900
发布2022-10-25 11:11:32
举报
文章被收录于专栏:哆哆Excel

VBA一键导入Word简历信息到 EXCEL中

【问题】:公司有几个这样Word文档的简历文件,要把他们的信息收集起来到Excel文件中,

【常规做法】打开word~复制~粘贴到Excel中,还要再整理,10多个还可以,如果几百个文件,那就~~~~天啊

【目标】:一键完成

【代码】

Sub DoMyWork()

Dim tmpSHT As Worksheet

Dim NowW As Long, tmp As String, FN As String, In_Count As Long

' Dim myApp As New Word.Application

Dim myDOC, myApp, tmpHead, brr

If MsgBox("该程序运行的前提是需要导入的文档和当前工作簿在同一个目录中,且没有其他无关的文档。" & vbNewLine & _

"当前环境是否满足上述前提?", vbQuestion + vbYesNo, "Eersoft-提示") = vbNo Then Exit Sub

Set myApp = CreateObject("Word.Application")

myApp.Visible = False

myApp.DisplayAlerts = wdAlertsNone

Set tmpSHT = ThisWorkbook.Sheets(1)

tmpHead = Array("姓名", "性别", "出生日期", _

"民族", "籍贯", "出生地", _

"入党时间", "参加工作时间", _

"健康状况", "专业技术职称", "熟悉专业有何专长", _

"全日制教育", "毕业院校系及专业", "在职教育", _

"毕业院校系及专业", "联系电话", "身份证号码", _

"现任职务", "现单位性质", "任现职时间", "任现级别时间")

tmpSHT.Range("a1:u1") = tmpHead

FN = Dir(ThisWorkbook.Path & "\*.doc")

Do Until FN = ""

FN = ThisWorkbook.Path & "\" & FN

Set myDOC = myApp.Documents.Open(FN)

In_Count = In_Count + 1

With myDOC.Tables(1)

tmp = .Cell(1, 2).Range.Text & "," & _

.Cell(1, 4).Range.Text &"," & _

.Cell(1, 6).Range.Text &"," & _

.Cell(2, 2).Range.Text &"," & _

.Cell(2, 4).Range.Text &"," & _

.Cell(2, 6).Range.Text &"," & _

.Cell(3, 2).Range.Text &"," & _

.Cell(3, 4).Range.Text &"," & _

.Cell(3, 6).Range.Text &"," & _

.Cell(4, 2).Range.Text &"," & _

.Cell(4, 4).Range.Text &"," & _

.Cell(5, 3).Range.Text &"," & _

.Cell(5, 5).Range.Text &"," & _

.Cell(6, 3).Range.Text &"," & _

.Cell(6, 5).Range.Text &"," & _

.Cell(7, 2).Range.Text &"," & _

.Cell(7, 4).Range.Text &"," & _

.Cell(8, 2).Range.Text &"," & _

.Cell(8, 4).Range.Text &"," & _

.Cell(9, 2).Range.Text &"," & _

.Cell(9, 4).Range.Text

End With

tmp = Replace(tmp, Chr(13), "")

tmp = Replace(tmp, Chr(7), "")

tmp = Replace(tmp, Chr(32), "")

brr = Split(tmp, ",")

NowW = tmpSHT.[a65536].End(xlUp).Row + 1

tmpSHT.Range("a" & CStr(NowW) & ":u" &CStr(NowW)) = brr

myDOC.Close False

FN = Dir()

Loop

myApp.Quit

Set tmpSHT = Nothing

Set myDOC = Nothing

Set myApp = Nothing

MsgBox "导入完毕,共导入" & CStr(In_Count)& "个文档,请检查。", vbInformation + vbOKOnly,"Eersoft-完成"

End Sub

【运行~成功】

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档