Inicio » VBA-Ejemplos » Importar datos de Word a Excel

Importar datos de Word a Excel

Al importar datos a Excel (en este caso texto) de un documento Word podemos aplicar la función VBA de Create Object. Esta función nos deja ‘conectar’ con los otros programas Office. De esta manera es bastante sencillo mandar datos entre Excel y el resto del suite Office de Microsoft.

Este ejemplo de Excel VBA presenta una manera de importar las filas de texto de un documento Word. El usuario elige desde cual documento Word la importación se va a realizar, mediante el diálogo Windows predefinido de ‘Abrir’.

Para que esto funcione, no olivides marcar la casilla de Microsoft Word x.xx Object Library en el menú de ‘Herramientas – Referencias’ del editor VBA.

Option Base 1
Public varText()
 
Sub abrirWordDesdeExcel()
 
Dim strWordArchivo As Variant
Dim i, r, intLineas As Integer
Dim appWord  As Word.Application
Dim appDoc As Word.Document
Dim rngDoc As Word.Range
 
'dialogo 'abrir archivo'
strWordArchivo = Application.GetOpenFilename _
("Documentos Word (*.doc), *.doc"): On Error GoTo 99
 
'crear el objeto Word
Set appWord = CreateObject("Word.Application")
Set appDoc = appWord.Documents.Open(strWordArchivo)
 
'leer archivo Word
intLineas = appDoc.Paragraphs.Count: ReDim varText(intLineas)
 
r = 1
For i = 1 To intLineas
Set rngDoc = appDoc.Range( _
Start:=appDoc.Paragraphs(i).Range.Start, _
End:=appDoc.Paragraphs(i).Range.End)
varText(i) = rngDoc.Text
r = r + 1
Next i
 
'traspasar datos a celdas (o utilizar matriz para otra cosa de VB...)
For x = 1 To UBound(varText)
Cells(x, 1) = varText(x)
'terminar los objetos creados
appDoc.Close: Set appDoc = Nothing
appWord.Quit: Set appWord = Nothing
99:
End Sub