Tecnología

Inicio

Cómo extraer los datos de las tablas de palabras usando Excel VBA

Cómo extraer los datos de las tablas de palabras usando Excel VBA


Visual Basic para Aplicaciones (VBA), lenguaje de script de Microsoft para Excel y Word, permite a los usuarios de estos programas escriben guiones que aceleran las tareas comunes, como el acceso a datos de la tabla. Además de dar a los usuarios de Excel la capacidad de gestionar datos de la tabla de Excel, VBA también proporciona un medio para acceder a tablas en documentos de Word. desarrolladores VBA se refieren a esta capacidad de un programa de Office para ejecutar otro como "automatización". Una de las ventajas de que la automatización de la extracción de datos de Word ofrece es el ahorro de tiempo. Sin la automatización, los usuarios de Excel que tenga que utilizar más métodos que requieren mucho tiempo para traer datos a Excel desde Word.

Instrucciones

1 Crear un nuevo documento en Word presionando "Control-N". Haga clic en el menú "Insertar" y luego haga clic en el icono "Tabla" en el panel "Tabla". Haga clic en cualquier icono de celular para hacer una mesa y luego introducir datos en al menos celda del extremo izquierdo de la fila superior. Guarde el documento como "C: \ WordTableData.doc" y, a continuación, cierre Word. Este paso crea datos de la muestra que usted va a extraer con Excel.

2 Crear un nuevo documento en Excel y luego presionar "Alt-F11" para entrar en el Visual Basic entorno de desarrollo integrado (IDE). La IDE proporciona los medios para la introducción manual de programas VBA, en contraste con la grabación de macros en Excel.

3 Haga clic en "Insertar" y luego "módulo" para crear un nuevo módulo para introducir el código del programa. Escriba el siguiente código en cualquier lugar dentro del nuevo módulo:

Public Sub accessTable ()

Establecer appWD = CreateObject ( "Word.Application")

appWD.Documents.Open Nombre del archivo: = "C: \ WordTableData.doc", _

ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False,

PasswordDocument: = "", PasswordTemplate: = "", Revert: = False, _

WritePasswordDocument: = "", WritePasswordTemplate: = "", Formato: = _

wdOpenFormatAuto

x = appWD.ActiveDocument.Tables (1) .Rows (1) .Cells (1)

MsgBox (x)

appWD.Quit

End Sub

Esta subrutina se crea una instancia oculta de Microsoft Word, a continuación, lo utiliza para abrir un documento de Word y obtener el valor de una celda en la primera tabla del documento.

4 Haga clic en punto "Referencias" de la IDE en el menú "Herramientas" y luego desplazarse por la lista de objetos hasta que vea "Microsoft Word Object Library". Coloque una marca en la casilla a la izquierda de este elemento y luego cerrar el cuadro de diálogo "Referencias". Para ejecutar, el código necesita enlazar a objetos virtuales de palabra (por ejemplo, tablas). El cuadro de diálogo "Referencias" le permite crear ese enlace.

5 Haga clic en cualquier lugar dentro de la subrutina "accessTable" que escribió en el paso 3 y, a continuación, pulse la tecla "F5" para ejecutar la subrutina. Después de una breve pausa, Excel mostrará un cuadro de diálogo con los datos introducidos en la tabla del documento de Word en el Paso 1.

6 Escriba el siguiente código de nuevo después de la instrucción "Public Sub" en la subrutina "accessTable":

dim someRow, someColumn

someRow = InputBox ( "Introduzca la fila que desea extraer datos de.")

someColumn = InputBox ( "Introduzca la columna que desea extraer datos de.")

Estas nuevas declaraciones, y el que está en el siguiente paso, le permiten elegir qué celda de la tabla para extraer los datos.

7 Vuelva a colocar el estado que comience con "x = appWD" con esta declaración:

x = appWD.ActiveDocument.Tables (1) .Rows (someRow) .Cells (someColumn)

8 Ejecutar la subrutina como lo hizo en el paso 5. Responda a los mensajes de la fila y la columna. Su programa revisado extraerá los datos de la tabla de la célula que ha especificado y lo mostrará en un cuadro de diálogo.