ฉันมีไฟล์ doc และ docx ประมาณ 4,000 ไฟล์ซึ่งมีตาราง ฉันจัดการเพื่อนำเข้าสิ่งเหล่านี้ลงในแผ่นงาน 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 ได้อย่างไร หากไม่มีวันที่ข้อมูลที่ฉันได้จะอยู่ในลำดับใด ๆ และไร้ประโยชน์กับฉัน
เอกสารมีรายการอื่นนอกเหนือจากตารางและวันที่หรือไม่? ถ้าเป็นเช่นนั้นคุณจะระบุวันที่ในเอกสารได้อย่างไร
—
Raystafarian
เอกสารประกอบด้วยตารางด้านบนซึ่งประกอบด้วยข้อมูลเช่นหมายเลขการแก้ไขหมายเลขหน้าชื่อ บริษัท และวันที่ที่ทำแบบฟอร์ม ทั้งหมดนี้ไม่ใช่สิ่งที่ฉันต้องการ ด้านล่างนั่นคือข้อความบรรทัดวันที่และใต้นั้นคือตารางที่ฉันต้องการ ชื่อไฟล์ยังมีวันที่ถ้าช่วยได้
—
Darkstar.Industries
คุณมีชื่อไฟล์ที่จัดเก็บไว้แล้ว
—
Raystafarian
MyFile
ดังนั้นคุณสามารถกำหนดเซลล์แรกที่มีค่าจากนั้นนำเข้าตารางสำหรับแต่ละเอกสารใช่ไหม