
Estoy intentando tomar datos de un montón de documentos de Word y agregarlos a una hoja de cálculo de Excel usando el siguiente código que encontré en este sitio. Sin embargo, después de editar el código para seleccionar documentos específicos a través de la ruta, sigo recibiendo errores de "objeto requerido" cuando intento ejecutar el código. ¿Podría explicar dónde estoy fallando y cómo solucionarlo? Lo siento, soy bastante nuevo en VBA y, como resultado, estoy bastante perdido.
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
Respuesta1
Es difícil estar seguro, pero como punto de partida
Dim t As ListObject
Debiera ser
Dim t As Table
Si se trata de Mac Office, es posible que tenga problemas incluso cuando intente realizar el CreateObject inicial.
Respuesta2
Objeto requerido (Error 424)ocurre porque:
Las referencias a propiedades y métodos a menudo requieren un calificador de objeto explícito.
Está intentando utilizar un documento de MS Word sin declararlo. Primero debe crear el objeto de aplicación de Word.
Set wrd = CreateObject("word.Application")
Luego úselo para abrir el documento.
wrd.Documents.Open Filename:=myPath & myFile