Pasar información de un archivo de word a excel

Hola! En el trabajo tenemos unos archivos de word. Que contienen tempetaraturas, fechas, nombres de métodos. Y necesitaría pasarlos a excel.
Yo he intentado con esta macro, pero me da error.
Sub Macro2()
Dim documento As Word.Application
Dim cadTexto As String
On Error GoTo chkError
Set documento = CreateObject("Word.Application")
documento.Documents.Open "c:\2409"
cadTexto = documento.ActiveDocument.Content.Text
MsgBox "El contenido del fichero es: " & cadTexto
documento.Quit False
Set documento = Nothing
Exit Sub
chkError:
MsgBox ("Ha ocurrido el error " & Err.Number & ". " & Err.Description)
Set documento = Nothing
End Sub
Pero me da error -2147417851.
Haber si m podrías ayudar.
Muchas gracias
1

1 respuesta

Respuesta
1
Si son pocos Word ( 5-10) es mejor hacerlo a mano con un copy&paste. Y después revisar los formatos y las fórmulas. Tardarás menos.
Ya pero ees ue tengo bastantes word iguales. Y quisiera hacerlo con macro. Porque así crearía excel que importaría datos de estos words, que son iguales todos. Y después de este excel lo pasaría a otro con una macro que m importe los datos a otro excel. Donde ya quedarían estructurados bien.
El problema creo que te está surgiendo porque copias el contenido del word como String cuando es una estructura de objetos compleja.
No veo un sistema fácil para hacerlo directamente, a lo mejor deberías plantearte el hacerlo en dos fases, pasar una de Word a Texto o csv y otra importar el texto en excel. El tema de las conversiones puede ser muy fácil o muy complejo, además no tengo muy claro como están los word, si hay tablas, imágenes, etc.. No me gusta la solución que te voy a dar pero va en la linea de lo que quieres:
Prueba ha jugar con el portapapeles.
a) Abre el word desde excel por código
b) Copia todo su contenido por código, en función de la versión se hace de una forma o de otra, haz una macro en Word para ver el código necesario.
c) Pegalo en excel. Define una hoja nueva ( o en la misma, segun quieras), un inicio para el rango y haz un paste.
Con eso debería haberte copiado todo el contenido.
Luego te quedará el lio de los formatos..
Slds

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas