
Ich versuche, Daten aus einer Reihe von Word-Dokumenten zu nehmen und sie mithilfe des folgenden Codes, den ich auf dieser Site gefunden habe, einer Excel-Tabelle hinzuzufügen. Nachdem ich den Code bearbeitet habe, um bestimmte Dokumente über den Pfad auszuwählen, erhalte ich jedoch weiterhin „Objekt erforderlich“-Fehler, wenn ich versuche, den Code auszuführen. Könnten Sie mir bitte erklären, wo ich einen Fehler gemacht habe und wie ich ihn beheben kann? Tut mir leid, ich bin ziemlich neu bei VBA und bin daher ziemlich verloren.
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
Antwort1
Das ist zwar schwierig, aber als Ausgangspunkt
Dim t As ListObject
Sollte sein
Dim t As Table
Handelt es sich um Mac Office, kann es durchaus zu Problemen kommen, selbst wenn Sie versuchen, das anfängliche „CreateObject“ auszuführen.
Antwort2
Objekt erforderlich (Fehler 424)tritt auf, weil:
Verweise auf Eigenschaften und Methoden erfordern häufig einen expliziten Objektqualifizierer.
Sie versuchen, ein MS Word-Dokument zu verwenden, ohne es zu deklarieren. Sie sollten zuerst das Word-Anwendungsobjekt erstellen.
Set wrd = CreateObject("word.Application")
Öffnen Sie damit anschließend das Dokument.
wrd.Documents.Open Filename:=myPath & myFile