xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


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