ubiquitour.com

Tutorial VBA para Word

Visual Basic para aplicaciones (VBA) es un lenguaje de programación utilizado para automatizar tareas en Microsoft Word. Con Visual Basic puede hacer cualquier operación que se puede hacer en Word sin Visual Basic, pero más rápido. Esto es especialmente cierto de las operaciones que incluyen muchas subtareas, como búsqueda para una palabra, seguida por la selección de la palabra, seguido del formato.

El código de ejemplo siguiente muestra cómo comenzar a usar VBA para dar soluciones prácticas para problemas comunes de procesamiento de textos.

Ingrese el código de ejemplo en el IDE

Abra MS Word e ir al IDE (entorno de desarrollo integrado) de Visual Basic presionando alt-F11.

En la ventana código, escriba el siguiente código de programa.

Público mac() SubDim como gama rDim w como gamaDim te como enteroDim t como cadena

Options.DefaultHighlightColorIndex

SET r = Selection.Range

r.StartOf (wdParagraph)

r.Expand wdParagraph

r.Find.ClearFormatting r.Find.Replacement.ClearFormatting r.Find.Replacement.Highlight = True With r.Find .Text = "is" .Replacement.Text = "is" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With r.Find.Execute Replace:=wdReplaceAll

End Sub

Puede tener una idea de lo que hará este programa notando ciertas palabras clave dentro de la misma: párrafo, búsqueda y selección, por ejemplo. El programa encuentra y resalta todas las ocurrencias de una palabra que especifica, en el párrafo actual.

Estas dos líneas en el código del aviso:. Texto = "es". Replacement.Text = "es"

Estas líneas dicen palabra qué buscar. En lugar de los s «es», introduzca cualquier palabra o texto que desea buscar y destacar.

Ejecutar el programa de

Regresar a palabra (alt-F11) y escriba unos cuantos párrafos valor de texto. Los párrafos deben contener por lo menos algunas ocurrencias del ya mencionado del término de búsqueda que hayas elegido.

Cuando haya terminado de introducir el texto, sitúe el cursor dentro de cualquiera de los párrafos. Ejecute el programa: elegir alt-F8 para que aparezca la ventana de reproducción de macros. Seleccione la macro "mac" y pulse ejecutar. Si Word encuentra todas las instancias de la palabra de búsqueda que especificó en el párrafo que contiene el cursor resaltará la palabra.

Entenderlo para adaptarlo

Escribir en una sola secuencia de comandos puede mejorar su flujo de trabajo un poco. Pero si usted entiende cómo funciona el script, empezar a mejorar su flujo de trabajo en gran medida y con carácter perpetuo.

Volver al IDE de Visual Basic y mirar el código del programa dentro de la función de mac. Observe cómo la función mac obtiene el párrafo actual a hacer su operación de reemplazo: se ve en el objeto de la selección, que representa el punto seleccionado del texto o la inserción. Luego, utilizando la representación interna de la palabra del documento, la escritura de "poder" desde el punto de inserción actual al comienzo del párrafo que contiene el punto de inserción.

Este tipo de movimiento es posible gracias a una red de conexiones dentro de VBA para Word. La selección actual está vinculada a la palabra actual, la actual frase y párrafo actual. En concreto, mac enlaces o leapfrogs de la selección actual al principio del párrafo actual (Set r = Selection.Range y r.StartOf (wdParagraph)). En ese momento, es sólo un punto de inserción, pero queremos que consulte el párrafo entero, así que ampliamos con wdParagraph r.Expand. Si desea buscar sólo la frase corriente en lugar del párrafo actual, reemplace todas las instancias de wdParagraph en el código del programa con wdSentence.