Sub DataScrapFromWord() ' 声明变量 Dim wdApp As Object, wdDoc As Object Dim xlWs As Worksheet Dim strFolderPath As String, strFileName As String Dim lngRow As Long Dim arrData() As Variant Dim i As Integer ' 设置Word文档所在文件夹路径(根据实际情况修改) strFolderPath = "D:\常用文件\简历\" ' 设置Excel中用于输出的工作表(根据实际情况修改) Set xlWs = ThisWorkbook.Worksheets("Sheet1") lngRow = 2 xlWs.Range("A2").CurrentRegion.Offset(1, 0).ClearContents On Error Resume Next Set wdApp = GetObject(, "Word.Application") If Err.Number <> 0 Then Set wdApp = CreateObject("Word.Application") End If On Error GoTo 0 wdApp.Visible = False strFileName = Dir(strFolderPath & "*.doc*") Application.ScreenUpdating = False Application.DisplayAlerts = False Do While strFileName <> "" Set wdDoc = wdApp.Documents.Open(strFolderPath & strFileName) '(根据实际情况修改:抓取想要的数据) With wdDoc.Tables(1) ' A列:超链接 xlWs.Hyperlinks.Add Anchor:=Range("A" & lngRow), _ Address:=strFolderPath & strFileName, _ TextToDisplay:="打开简历" xlWs.Cells(lngRow, 2).Value = Application.Clean(.Cell(1, 2).Range.Text) ' word中第1行第2列是姓名->B列 xlWs.Cells(lngRow, 3).Value = Application.Clean(.Cell(1, 4).Range.Text) ' word中第1行第4列是性别->C列 xlWs.Cells(lngRow, 4).Value = Application.Clean(.Cell(1, 6).Range.Text) ' word中第1行第6列是出生年月->D列 '在身份证号、电话号码等长数字前加单引号 "'",可强制Excel将其以文本格式存储 xlWs.Cells(lngRow, 5).Value = "'" & Application.Clean(.Cell(3, 2).Range.Text) ' word中第3行第2列是联系方式->E列 xlWs.Cells(lngRow, 6).Value = Application.Clean(.Cell(3, 6).Range.Text) ' word中第3行第6列是学历->F列 xlWs.Cells(lngRow, 7).Value = Application.Clean(.Cell(5, 2).Range.Text) ' word中第5行第2列是应聘职务->G列 End With wdDoc.Close SaveChanges:=False Set wdDoc = Nothing lngRow = lngRow + 1 strFileName = Dir() Loop wdApp.Quit Set wdApp = Nothing Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "数据提取完成!共处理 " & (lngRow - 2) & " 个文档。", vbInformationEnd Sub