У меня есть около 4000 файлов DOC и DOCX, которые содержат таблицу. Мне удалось импортировать их в один лист Excel, используя следующий скрипт:
Sub Macro1()
Dim xl As Object
Set xl = CreateObject("excel.application")
xl.workbooks.Add
xl.Visible = True
'Here put your path where you have your documents to read:
myPath = "C:\Users\" 'End with '\'
myFile = Dir(myPath & "*.docx")
xlRow = 1
Do While myFile <> ""
Documents.Open FileName:=myPath & myFile, ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
xlCol = 0
For Each t In ActiveDocument.Tables
For Each r In t.Rows
For Each c In r.Range.Cells
myText = c
myText = Replace(myText, Chr(13), "")
myText = Replace(myText, Chr(7), "")
xlCol = xlCol + 1
xl.activeworkbook.activesheet.Cells(xlRow, xlCol) = myText
Next c
xlRow = xlRow + 1
xlCol = 0
Next r
Next t
ActiveWindow.Close False
myFile = Dir
Loop
xl.Visible = True
End Sub
Единственная проблема заключается в том, что за пределами таблицы документов находится дата. Потому что этого нет в таблице, оно не поднято, и у меня есть огромный список данных без дат. Как я могу получить его для импорта ВСЕХ данных или, по крайней мере, даты в таблицу Excel также. Без дат данные у меня могут быть в любом порядке и бесполезны для меня.