ubiquitour.com

Cómo crear la entrada de texto de MS Word con VBA para Excel

Si has comenzado con Visual Basic para aplicaciones (VBA) para Excel, ya has visto cómo VBA puede convertir una buena hoja de cálculo en grande. Macros grabadas pueden automatizar tareas, pero el verdadero poder de VBA es en el Editor de Visual Basic, donde puede escribir procedimientos que amplían las capacidades de Excel. También puede usar VBA para llegar fuera de Excel a otra aplicación de Office como Word. Ya que ambas aplicaciones utilizan el lenguaje de programación de VBA, puede escribir código en Excel para iniciar Word y escribir texto en un documento. Ejecutar el código de ejemplo y luego utilizar sus habilidades VBA para modificar el código que se adapte a sus necesidades.

Instrucciones

1 Inicie Word y abra un nuevo documento. Guardar el documento con un nombre nuevo, como "C:\TestDoc.doc." Anotar el nombre que elegiste, como lo usará en el código VBA. Cerrar el documento y salir de Word.

2 Abrir Excel.

3 Inicie el Editor de Visual Basic. Haga clic en la pestaña de "Hoja1" en la parte inferior de la pantalla. Seleccione "Ver código".

4 Agregar la biblioteca de objeto que contenga objetos, propiedades y métodos para la palabra. Seleccione "Herramientas" seguidos por "Referencias" en el menú. Desplácese hacia abajo la lista hasta encontrar "Xx.x biblioteca de objetos de Microsoft Word" (xx.x está parado para la versión, por ejemplo, si usas Office 2007, busque la biblioteca de objetos de Microsoft Word 12.0). Active la casilla de verificación y haga clic en "Aceptar".

5 Inserte un módulo que contenga el código seleccionando "Insertar" seguido de "Módulo" en el menú.

6 Comenzar un subprocedimiento. Escriba lo siguiente en el nuevo módulo:

Sub Word_Text()

Presione "Enter". Excel genera automáticamente una declaración de "End Sub".

7 Declarar variables. Escriba el código siguiente entre las declaraciones del "Sub" y "End Sub":

Dim wdApp como objeto, como objeto de wdDoc

Dim wordfile As String, enterstring As String

8 Establezca el valor de la variable "wordfile," especificando el documento de prueba que creó en Word. Si más adelante desea utilizar un documento de Word diferente, cambie el nombre del archivo en esta línea de código. Escriba lo siguiente:

wordfile = "c:\testdoc.doc"

9 Establezca el valor de la variable "enterstring" en el texto que desea agregar en la parte superior de un documento de Word. Escriba lo siguiente:

enterstring = "Añadir este texto al archivo".

10 Añadir una rutina de manejo de errores para comprobar si ya se está ejecutando Word. Si no, abre una nueva instancia de la palabra. Escriba lo siguiente:

Error volver siguiente

Set wdApp = GetObject (, "Word.Application")

Si wdApp es nada entonces

Set wdApp = CreateObject("Word.Application")

End If

En Error GoTo 0

11 Agregue código para abrir el documento de Word. Escriba lo siguiente:

Set wdDoc = GetObject(wordfile)

12 Agregar código para hacer visible la aplicación de la palabra y luego mover el punto de inserción al principio del documento. Escriba lo siguiente:

Con wdApp

. Visible = True

. Unidad Selection.HomeKey: = wdStory, extender: = wdMove

Terminar con

13 Agregue código para escribir el texto muestra "enterstring" en el documento de la palabra seguido de un retorno de carro. Escriba lo siguiente:

Con wdDoc.Content

. InsertAfter enterstring

. InsertParagraphAfter

Terminar con

14 Agregue código para vaciar las variables de objeto con el fin de liberar la memoria utilizada por la aplicación. Escriba lo siguiente:

Set wdDoc = nada

Set wdApp = nada

Deje la instrucción "End Sub" en su lugar.

15 Ejecutar el código. Seleccione "Ejecutar" seguido por "ejecutar Sub/UserForm" en el menú.

16 Ver el documento de Word de ejemplo que creó en el paso 1. En la parte superior del documento, debe ver una línea de lectura, "Añadir este texto al archivo".

Consejos y advertencias

  • Si recibe un mensaje de error, busque errores de entrada de texto en el código, como extras o se omite las comillas, espacios y períodos.
  • Un mensaje de error de lectura, "nombre de archivo o nombre de clase no encontrada durante la operación de automatización" significa que hubo un problema encontrar la prueba de documento de Word. Compruebe el valor asignado a "wordfile", incluyendo el nombre del archivo y la ruta.
  • Si no ves el texto muestra en su documento de Word, o encuentras otro error, trate de caminar a través del código. Coloque el cursor al principio del módulo. Pulsa "F8" varias veces para ejecutar una línea de código a la vez, observando los resultados.