
나는 이 사이트에서 찾은 아래 코드를 사용하여 여러 단어 문서에서 데이터를 가져와 Excel 스프레드시트에 추가하려고 합니다. 그러나 경로를 통해 특정 문서를 선택하도록 코드를 편집한 후 코드를 실행하려고 하면 "개체 필요" 오류가 계속 발생합니다. 내가 어디에서 잘못되고 있는지, 어떻게 해결하는지 설명해 주시겠습니까? 죄송합니다. 저는 VBA를 처음 접했고 그 결과 꽤 길을 잃었습니다.
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\arahmani\Desktop\march\" '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
Dim t As ListObject
For Each t In ActiveDocument.Tables
For Each Row 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 Row
Next t
ActiveWindow.Close False
myFile = Dir
Loop
xl.Visible = True
End Sub
답변1
확신하기는 어렵지만 출발점으로서
Dim t As ListObject
해야한다
Dim t As Table
Mac Office인 경우 초기 CreateObject를 수행하려고 할 때에도 문제가 발생할 수 있습니다.
답변2
개체가 필요합니다(오류 424).다음과 같은 이유로 발생합니다.
속성 및 메서드에 대한 참조에는 명시적인 개체 한정자가 필요한 경우가 많습니다.
MS Word 문서를 선언하지 않고 사용하려고 합니다. 먼저 Word 응용 프로그램 개체를 만들어야 합니다.
Set wrd = CreateObject("word.Application")
그런 다음 이를 사용하여 문서를 엽니다.
wrd.Documents.Open Filename:=myPath & myFile