Tecnología

Inicio

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 que 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 muchos sub-tareas, tales como la búsqueda de una palabra, seguido de la selección de palabras, seguido por el formato.

El siguiente código de ejemplo muestra cómo se puede empezar a utilizar VBA para dar soluciones prácticas para los problemas de procesamiento de texto común.

Introduce el código de ejemplo en el IDE

Abrir MS Word y vaya a la IDE de Visual Basic (entorno de desarrollo integrado) pulsando Alt-F11.

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

mac Public Sub ()
r tenue como gama
Dim w como gama
Dim i As Integer
Dim t As String

Options.DefaultHighlightColorIndex

Establecer 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 hacerse una idea de lo que este programa hará notar por ciertas palabras clave dentro de ella: párrafo, encontrar, y la selección, por ejemplo. El programa encuentra y pone de relieve todas las apariciones de una palabra que se especifique, en el párrafo actual.

Observe estas dos líneas en el código:
.text = "Es"
.Replacement.Text = "Es"

Esas líneas indican Palabra lo que debe buscar. En lugar de aquellos "es" s, entran en cualquier palabra o texto que desea buscar y lo más destacado.

Ejecución del programa

Volver a la palabra (Alt-F11), e introduzca un valor de unos párrafos de texto. Esos párrafos deben contener al menos un par de apariciones del mencionado término de búsqueda elegido.

Cuando haya terminado de introducir el texto, coloque el cursor dentro de cualquiera de los párrafos. Ejecutar el programa: elegir Alt-F8 para que aparezca la ventana macro-replay. Seleccione el "mac" macro y pulse Ejecutar. Si Word encuentra ninguna instancia de la palabra de búsqueda que ha especificado, en el párrafo que contiene el cursor, se pondrán de relieve la palabra.

Entender a Adáptela

Escribir en una única secuencia de comandos puede mejorar el flujo de trabajo un poco. Pero si usted entiende cómo funciona el guión, se empieza a mejorar en gran medida el flujo de trabajo, y de forma perpetua.

Volver al IDE de Visual Basic y mirar el código de programa dentro de la función MAC. Observe cómo la función de Mac llega al párrafo actual para hacer su operación de sustitución: se mira el objeto de selección, que representa el punto de inserción de texto o seleccionado en ese momento. Luego, utilizando la representación interna de la palabra del documento, el guión "leapfrogs" desde el punto de inserción actual al inicio 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 sentencia actual y párrafo actual. En concreto, enlaces mac o Leapfrogs de la selección actual al inicio del párrafo actual (Set r = Selection.Range y r.StartOf (wdParagraph)). En ese momento, r es solamente un punto de inserción, pero queremos que se refiere al párrafo completo, por lo que expandirlo con r.Expand wdParagraph. Si desea buscar sólo la frase actual en lugar del párrafo actual, reemplazar todas las instancias de wdParagraph en el código del programa con wdSentence.