VBA-Hilfe: Objekt erforderlich - Fehler

VBA-Hilfe: Objekt erforderlich - Fehler

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

verwandte Informationen