Cap i Tulo Gratis

PROGRAMACIÓN DE MACROS Capítulo 1 Primeros pasos en Visual Basic Visual Basic es uno de los lenguajes de programación

Views 121 Downloads 56 File size 438KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PROGRAMACIÓN DE MACROS

Capítulo

1

Primeros pasos en Visual Basic Visual Basic es uno de los lenguajes de programación más cómodos y fáciles de aprender. Por eso, millones de programadores en todo el mundo lo utilizan. Sin embargo, para muchos usuarios, la palabra “programar” suena a ciencia oculta. En este capítulo se intenta demostrar lo contrario, explicando lo fácil que es crear macros o programas mediante la versión de Visual Basic incluida en las aplicaciones de Microsoft Office.

SERVICIO DE ATENCIÓN AL LECTOR: [email protected]

¿Qué es una macro? El desarrollo en Office con VBA Objetos ActiveX El entorno de desarrollo ¿Cómo se programa en Visual Basic? Mi primer programa Visual Basic Resumen del capítulo

14 16 17 21 24 25 30

PROGRAMACIÓN DE MACROS

¿Qué es una macro? Las macros de los programas de aplicación son secuencias de acciones que se ejecutan automáticamente al cliquear un botón o una combinación de teclas, permitiendo automatizar tareas que se realizan con frecuencia. Por ejemplo, quien habitualmente escribe monografías y acostumbra encabezarlas con un título en negrita, centrado y subrayado, querrá tener la posibilidad de “programar” algún mecanismo para que esas tres opciones de formateo se ejecuten rápidamente al presionar –por ejemplo– las teclas Alt-E (de Encabezado). O quien escribe cartas formales muy seguido, querrá encontrar una forma de que las palabras “De mi consideración” aparezcan automáticamente cuando cliquea un botón especial para crear una nueva carta. En los antiguos procesadores o editores de texto, crear macros implicaba lidiar con crípticos lenguajes de programación, por lo cual el usuario común rápidamente abandonaba la tarea. Luego, a medida que los programas se fueron haciendo más sofisticados, se popularizó la opción de grabar macros. Con esta facilidad, basta con pedirle al programa en cuestión que “aprenda” una secuencia de acciones llevadas a cabo por el usuario, para después repetirlas automáticamente a pedido del mismo. En Microsoft Office, esta tarea se lleva a cabo mediante la opción Grabar nueva macro..., que se encuentra en el menú Herramientas / Macro de Word, Excel y PowerPoint. Para poner a prueba esta utilidad, vamos a crear una macro que reemplaza todos los espacios en un bloque de texto por tabuladores, para poder insertar ese texto en Excel. PASO A PASO Grabación de una macro

PASO A PASO

Abra Word y cargue un documento cualquiera (que contenga algún texto). Marque un bloque de texto (no importa su longitud) y luego seleccione Herramientas / Macro / Grabar nueva macro. Aparecerá el cuadro de diálogo Grabar macro. En él, deberá asignar a la macro un nombre y una descripción. Asígnele –por ejemplo– el nombre FormatearConTabs (tenga en cuenta que el nombre no debe tener 14

¿Qué es una macro?

Primeros pasos en Visual Basic

1

espacios) y la descripción que desee. Deberá indicar si la macro quedará almacenada en el documento en uso o en la plantilla activa o la plantilla por defecto (por ejemplo, Normal.dot). Seleccione la plantilla por defecto, de modo tal que la macro quede disponible para todos los documentos que vamos a utilizar. Luego de pulsar Aceptar en el cuadro de diálogo anterior, habrá comenzado la grabación de la macro. Cualquier acción que usted realice a partir de este momento quedará registrada en ella. Solo deberá realizar cada uno de los pasos en la secuencia correcta. Abra el menú Edición y seleccione la opción Reemplazar. Como texto a buscar, coloque simplemente un espacio en el campo Buscar opciones:. Luego sitúe el cursor sobre el campo Reemplazar con:. Cliquee en el botón Especial, al pie de la ventana (si no aparece, cliquee antes el botón Más), y seleccione la opción Marca de tabulación.

15

PROGRAMACIÓN DE MACROS

Cliquee en Reemplazar todos. Inmediatamente, el programa le avisará que realizó un determinado número de reemplazos y le preguntará si quiere continuar con el resto del documento. Responda que no. Finalice la grabación de la macro presionando el botón de la barra flotante que apareció al comenzar la grabación. Obviamente, esta acción no se registra en la macro.

Para ver si la macro funciona como debería, seleccione un texto y luego ejecútela, accediendo a la opción de menú Herramientas – Macro – Macros..., eligiendo el ítem FormatearConTabs (o el nombre que le haya puesto) en la lista de macros y cliqueando el botón Ejecutar.

El desarrollo en Office con VBA Además de dar la opción de grabar macros, Microsoft Office cuenta con una herramienta de programación que permite editarlas para darles más funcionalidad de la que obtienen, simplemente “imitando” las acciones del usuario. Dicha herramienta es nada menos que Visual Basic para Alicaciones (VBA), una versión del popular lenguaje de programación Visual Basic diseñada para funcionar dentro de otras aplicaciones. De hecho, la macro creada en el ejemplo anterior quedó registrada en Word como un pequeño programa en Visual Basic. Más adelante en este capítulo, veremos cómo acceder al entorno de desarrollo para ver el código de programación correspondiente a esta macro. Además de dar la posibilidad de automatizar tareas –como en el ejemplo anterior– VBA brinda a los programadores el poder para desarrollar sistemas que se valgan de la funcionalidad de Office para realizar tareas complejas. Por ejemplo, se pueden construir programas que analicen los datos de bases Access, muestren resultados a través de presentaciones PowerPoint y gráficos de Excel, y envíen mensajes de Outlook a determinados usuarios con informes elaborados a partir de plantillas de Word. Esto es posible gracias a que Microsoft Office no es simplemente un conjunto de aplicaciones; es una gigantesca caja de herramientas llena de componentes 16

Para comprender un poco más acerca de este tema, tenemos que saber que las aplicaciones de hoy en día no se construyen, como ocurría en el pasado, escribiendo páginas y páginas de código de programación. En cambio, gran parte del trabajo de un programador consiste actualmente en tomar piezas de software prefabricadas y ensamblarlas –a modo de rompecabezas– para construir una aplicación. A estas piezas de software se las denomina componentes, y tienen la cualidad de cumplir un conjunto de funciones bien definidas, que evitan al programador la tarea de averiguar en detalle cómo hacen para cumplir esas funciones.

Objetos ActiveX Una clase especial de componentes son los objetos ActiveX. Estos tienen la particularidad de poder utilizarse fácilmente dentro de cualquier entorno que los acepte, como por ejemplo: documentos de Word, planillas Excel, páginas Web, mensajes de mail, etc. Los objetos ActiveX agregan funcionalidad al contenedor en el que están insertos. Dentro de los objetos ActiveX se distingue una categoría especial, denominada controles ActiveX, que incluye objetos utilizados para armar interfaces de usuario en programas de aplicación. En Visual Basic se hace un uso intensivo de los controles ActiveX para confeccionar las ventanas de las aplicaciones. Pero un control ActiveX también puede insertarse dentro de documentos, como por ejemplo, una planilla Excel, para que dicho documento tenga una interfaz de usuario más amigable. Para comprender mejor esta idea, lo conveniente es hacer un ejemplo. En la siguiente guía paso a paso, insertaremos un calendario dentro de una planilla Excel para simplificar la selección de fechas. 17

Primeros pasos en Visual Basic

de software preparados para llevar a cabo toda clase de tareas con documentos, planillas, presentaciones, bases de datos, correos electrónicos y demás elementos manipulables por Office. VBA nos “abre la tapa” de esa caja de herramientas y nos permite tomar de ella los componentes de software que queramos para combinarlos y de ese modo, automatizar tareas o construir nuevas aplicaciones que, en definitiva, hagan más fácil nuestro trabajo cotidiano.

1

El desarrollo en Office con VBA

PROGRAMACIÓN DE MACROS

Insertar un control ActiveX en Excel

PASO A PASO

Abra Excel con una planilla en blanco. Acceda al menú Insertar / Objeto... Aparecerá entonces una ventana que muestra todos los objetos insertables registrados en el sistema.

Busque el elemento Control Calendar y cliquee en Aceptar. En la planilla se dibujará un calendario que permite seleccionar fechas gráficamente.

18

Uno de los botones de esta barra se denomina Modo Diseño. Selecciónelo para pasar a modo Diseño. Una vez activado el modo Diseño, cliquee sobre el control Calendario antes insertado en la planilla. Verá que ahora el control no permite seleccionar fechas; sin embargo, el mismo fue rodeado por puntos de selección que permiten cambiar su tamaño y ubicación en la planilla. A su vez, al estar en modo diseño, es posible cambiar las propiedades del objeto, con lo cual se modificará su “comportamiento”. Cliquee sobre el control con el botón derecho, seleccione la opción Objeto Calendario y Propiedades. Aparecerá una ventana de diálogo que permite modificar las propiedades del objeto Calendario, alterando su aspecto y también su funcionamiento. Obsérvese que en la sección General, la propiedad Value contiene una fecha, correspondiente a la fecha seleccionada en el control. Esta propiedad es la que permite, mediante código de programación, averiguar la fecha seleccionada para realizar cálculos o llevar a cabo alguna acción en función de ella.

19

Primeros pasos en Visual Basic

Active la barra de herramientas Visual Basic, cliqueando con el botón derecho sobre cualquiera de las barras de herramientas de Excel y seleccionando la opción Visual Basic en el menú contextual.

1

El desarrollo en Office con VBA

PROGRAMACIÓN DE MACROS

Modifique la propiedad Título de mes o año destildando la opción correspondiente y cliquee en Aceptar. Cliquee en el botón para salir finalmente del modo Diseño (empleando el mismo que usó anteriormente para entrar en él) y observe cómo cambió el aspecto del control Calendario, según se muestra en la siguiente imagen.

La experiencia realizada en el ejercicio anterior ofrece una “vista previa” de lo que significa programar en Visual Basic: insertar controles sobre formularios o documentos, modificar sus propiedades y (algo que haremos en próximos párrafos) escribir bloques de instrucciones en lenguaje Basic que permitan llevar a cabo determinadas acciones cuando ocurre “algo” (un evento, para ser más preciso) sobre los controles. Obviamente, la programación en Visual Basic no es solo eso. Las macros y aplicaciones hechas en Visual Basic, a medida que se van tornando complejas, van requiriendo más trabajo de escribir código y menos, de dibujar controles. Y a su vez, nos ofrecen una mayor cantidad de posibilidades. Pero ya habrá tiempo para eso. En principio, continuemos conociendo los aspectos que hacen al entorno de programación que nos ofrece Office. 20

El desarrollo en Office con VBA

Hasta ahora hemos grabado macros y hemos utilizado controles ActiveX. Es hora de bucear un poco más profundo en las aguas de la programación en Office. Para ello, no hay más remedio que meterse en el entorno de desarrollo que ofrece este paquete de aplicaciones. Todas las aplicaciones de Office brindan un entorno de desarrollo idéntico, denominado Editor de Visual Basic, que ofrece todas las herramientas de programación para diseñar formularios, ingresar código, correr los programas, depurarlos, etcétera (Figura 1).

Figura 1. El entorno de desarrollo de VBA en Word.

Este entorno suele ser de aspecto muy similar también en las diferentes versiones de Office, aunque no siempre estuvo presente en todos los programas, como veremos a continuación. Funciona como una ventana separada, pero asociada a cada uno de los programas de Office, de modo tal que cuando se cierra el programa asociado, también se cierra el Editor, y los programas creados con el editor se guardan en la planilla activa o en los documentos en uso en la aplicación asociada. Por ejemplo, cada documento que se genera con Word incluye un proyecto de VBA, el cual permanece vacío hasta que se le 21

Primeros pasos en Visual Basic

1

El entorno de desarrollo

PROGRAMACIÓN DE MACROS

comienza a agregar código a través de grabación de macros o edición de módulos. Para entrar al Editor de Visual Basic, se debe acceder a la opción de menú Herramientas / Macro / Editor de Visual Basic de cualquiera de las aplicaciones de Office, o bien presionar Alt-F11. Ahí veremos en un primer momento unicamente los módulos creados con la grabadora de macros. Es conveniente saber que recién a partir de la versión 2000, Access y Outlook incorporaron el Editor de Visual Basic al igual que Word, Excel y PowerPoint. En versiones anteriores de Outlook solo se podían manipular sus objetos desde otras aplicaciones de Office u otros entornos de programación. Y en las versiones anteriores de Access, la edición del código VBA se llevaba a cabo directamente desde la ventana principal de la aplicación, en lugar de hacerlo utilizando el Editor de Visual Basic. El editor de Visual Basic

22

GUÍA VISUAL 1

23

Primeros pasos en Visual Basic

Explorador de proyectos. Muestra una lista de los proyectos en uso y los elementos a los que hace referencia cada uno de ellos. Estos elementos pueden ser objetos propios de la aplicación (documentos o plantillas de Word, por ejemplo), módulos de código o formularios (UserForms), o referencias. Podremos llamar a cualquiera de estos elementos para editarlos. Ventana de propiedades. Cuando se selecciona un objeto en el explorador de proyectos, se abre un formulario o un módulo de código, o bien cuando se selecciona un control dentro de un formulario, esta ventana muestra sus propiedades, en orden alfabético. Esta ventana es muy útil ya que también admite la modificación de los valores de cada propiedad (excepto las de solo lectura). Ventana de edición de código. Cumple la función de un editor de texto avanzado, en donde se ingresa o modifica el código de programación de un módulo de código, de un módulo de clase o de un formulario. Puede haber múltiples ventanas de edición de código, cada una mostrando los procedimientos asociados a un elemento de un proyecto. Una herramienta útil de esta ventana es que el texto adopta automáticamente distintos colores según su función: las palabras reservadas aparecen en azul; los comentarios, en verde; el código con errores de sintaxis, en rojo, y todo lo demás, en negro. Formularios. Constituyen las ventanas de los programas VBA, una vez que fueron desarrollados. Sobre los formularios se disponen controles para que el usuario, al accionar la macro en Office, pueda ingresar fácilmente los datos, elija diferentes opciones de una lista, acepte o cancele una determinada acción, etc. Ventana Inmediato. En esta ventana, se ejecutan instrucciones individuales que se procesan en el momento, a diferencia de las instrucciones en módulos de código o formularios. Un ejemplo elemental del uso de esta ventana, consiste en escribir Print 2 + 2 y presionar Enter. Inmediatamente aparecerá el resultado de sumar 2 más 2. Cuadro de herramientas. Contiene un conjunto de controles que se utilizan para el diseño de los formularios (botones, listas desplegables, barras de desplazamiento, cuadros de texto, etc.). Más adelante, veremos en detalle la funcionalidad de cada una de estas herramientas.

1

El desarrollo en Office con VBA

PROGRAMACIÓN DE MACROS

¿Cómo se programa en Visual Basic? Ya conocemos el Editor de Visual Basic y todas la ventanitas y herramientas que lo componen. ¿Y ahora qué hacemos con todo esto? No hay más remedio que arremangarse y comenzar a programar, escribiendo las instrucciones correspondientes en el lenguaje de programación Basic. Si bien la escritura en lenguaje Basic es una tarea prácticamente inevitable a la hora de crear macros de Office, no es imprescindible conocer a fondo todo el lenguaje para comenzar a trabajar. Es más, mediante la grabación de macros podemos hacer que Office nos “enseñe” cómo se traducen al lenguaje Basic determinadas acciones que queremos programar. Las instrucciones Basic se escriben dentro de bloques de instrucciones llamados procedimientos, que pueden ser de tipo Sub o Function (no se preocupe que nos referiremos más a esto en el Capítulo 2). Estos procedimientos son el equivalente informático a una receta de cocina: sus instrucciones son órdenes que, en vez de ser leídas y ejecutadas por una cocinera, son leídas y ejecutadas por el motor de ejecución de Visual Basic, por supuesto, a través de nuestra computadora. Estas órdenes dicen cosas tales como “obtener tal rango de la planilla”, “hacer tal cosa con este bloque de texto”, etc., solo que en un lenguaje más sintético. Las instrucciones en un procedimiento se ejecutan secuencialmente desde la primera a la última; salvo que ocurra un error, en cuyo caso la ejecución se detiene, generando el mensaje correspondiente o devolviendo la posta a una instancia superior que deberá encargarse de tratar ese error debidamente. A su vez, los procedimientos pueden ser invocados desde otros procedimientos. La idea de esto es dividir la funcionalidad de los programas en muchas partes, cada una con una tarea bien definida, y además no tener que escribir muchas veces un mismo programa que se usa en distintas situaciones. Por ejemplo, se puede hacer un procedimiento genérico para enviar mensajes de correo electrónico, estableciendo el destinatario, mensaje, asunto, etc. Luego, cuando se necesite enviar un mail desde un programa, en vez de programar todos los pasos necesarios, simplemente se invoca este procedimiento, pasándole como parámetros el destinatario, mensaje, asunto, etc. 24

Mi primer programa Visual Basic A continuación, vamos a hacer una primera incursión en el entorno de programación de VBA, introduciendo una pequeña modificación en la macro FormatearConTabs, creada anteriormente en este capítulo. Para ello, primero deberá entrar al Editor de Visual Basic de Word, (¿no se acuerda cómo? Muy sencillo: con Alt-F11 o a través de la opción Herramientas / Macro / Editor de Visual Basic). La ventana del Explorador de proyectos muestra un proyecto por cada documento que Word tenga abierto. En ella debería poder ver dos proyectos: Normal, correspondiente a la plantilla activa, y Project (Documento1), correspondiente al documento abierto (si tiene un nombre diferente de Documento1, aquí figurará ese nombre). Por cada documento que se abre o se crea, se suma otro proyecto a la lista. Tal como lo muestra el Explorador, un proyecto se compone de un conjunto de carpetas. En el caso del proyecto Normal, estas carpetas son Microsoft Word Objetos y Módulos. En esta última, se encuentra el módulo NewMacros, que es donde se guarda el código de las macros asociadas a la plantilla, incluyendo también el de la macro grabada anteriormente. Para ver el código de programación de cualquiera de las macros, busque en el Explorador el módulo NewMacros y, cliqueando con el botón derecho del mouse sobre él, seleccione la opción Ver Código. Cada macro de la plantilla tiene asociado un procedimiento de tipo Sub en el módulo NewMacros. Por lo tanto, el código de la macro FormatearConTabs aparecerá luego de la instrucción Sub FormatearConTabs() (Figura 2). 25

Primeros pasos en Visual Basic

Es conveniente saber que los parámetros de un procedimiento son datos que estos necesitan para cumplir su tarea. Por ejemplo, un procedimiento que dibuja una línea entre dos puntos necesita, como mínimo, que se le indique desde dónde y hasta dónde dibujar la línea. Las coordenadas de los extremos de la línea a dibujar serán, entonces, sus parámetros. Por último, sepa que siempre que necesite escribir instrucciones para hacer una determinada tarea en Office, y no conozca la forma correcta de hacerlo, haga que el mismo Office le enseñe: grabe una macro que lleve a cabo esa tarea y luego vea el código de la macro con el Editor de Visual Basic.

1

¿Cómo se programa en Visual Basic?

PROGRAMACIÓN DE MACROS

Figura 2. Las instrucciones de la macro FormatearConTabs.

Cuando se da la orden para que ejecute esta macro –mediante el botón Ejecutar en la ventana de macros–, Word busca el procedimiento Sub correspondiente y ejecuta una tras otras sus instrucciones, hasta toparse con End Sub, que marca el final del procedimiento. Veamos en el leguaje de programación, qué es lo que hacen en realidad las instrucciones de FormatearConTabs. Las primeras líneas (las que aparecen en verde y comienzan con un apóstrofo) son comentarios que sirven únicamente para dar información adicional a quien lee el programa, y se ignoran al momento de ejecutar. Después sigue una lista de instrucciones que hacen lo mismo que haría el usuario para realizar la tarea que hace la macro: limpiar los campos donde se ingresan los textos a buscar y a reemplazar, establecer todas las propiedades de la búsqueda y, finalmente, ejecutar la búsqueda. ¿Cómo hace la macro todo esto? Manipulando un muy práctico objeto de Word. Señor lector, le presento al objeto Selection, y a su hijo, el objeto Find. A lo largo del libro (y especialmente en el capítulo 5) van a tener que trabajar mucho juntos. Selection es uno de los innumerables objetos que ofrece Office para manipular los datos de sus aplicaciones (¿se acuerda cuando decíamos que Microsoft 26

Selection.Find.ClearFormatting

es un método del objeto Find, que hace que este limpie los formatos especificados como parte de una operación de búsqueda. Al darle esta instrucción al objeto Find, ocurre lo mismo que si cliqueáramos el botón Sin formato del cuadro de diálogo Buscar y reemplazar (menú Edición). Se utiliza este método para asegurar que no se incluyan formatos no deseados en los criterios de búsqueda y sustitución. Vale aclarar que los métodos de un objeto son instrucciones que hacen que el objeto ejecute una determinada acción sobre los datos que contiene (más sobre este tema en el Capítulo 4 de este libro). ClearFormatting

Esta primera instrucción nos da la pauta de cómo se utilizan los objetos en el lenguaje de programación Basic: se coloca el nombre del objeto (en este caso, Selection), luego un punto, a continuación el nombre del objeto “hijo”, si lo hubiere (en este caso, Find) y, finalmente, se escribe el nombre del método a ejecutar (en este caso, ClearFormatting). La siguiente instrucción hace lo mismo que la anterior, pero en este caso, sobre un “hijo” del objeto Find (o un nieto del objeto Selection) denominado Replacement. Al ejecutar el método ClearFormatting del objeto Replacement, se limpian los campos a utilizar como sustitución del texto buscado. Lo que viene a continuación es el comienzo de un bloque de instrucciones With: With Selection.Find

Los bloques With se utilizan para abreviar la escritura de código, deleitando a los amantes de la ley del menor esfuerzo. Cuando se inicia un bloque With, se establece que todas las instrucciones siguientes que comiencen con un 27

Primeros pasos en Visual Basic

Office es una gigantesca caja de herramientas? Pues este es el primer ejemplo). En particular, Selection hace referencia al bloque de texto seleccionado en un documento en un momento determinado. Y Find es un objeto “hijo” de Selection que permite hacer una búsqueda sobre el texto contenido en Selection (más sobre los objetos y sus relaciones se tratará en el capítulo 4). Observe la primera de las instrucciones de FormatearConTabs:

1

¿Cómo se programa en Visual Basic?

PROGRAMACIÓN DE MACROS

punto harán referencia al objeto indicado a la derecha de la palabra With (en este caso, Selection.Find) hasta tanto no se encuentre la instrucción End With. De este modo, se evita la necesidad de tipear el nombre del objeto en cada una de las instrucciones. Las instrucciones que siguen hasta End With se utilizan todas para establecer diferentes propiedades de la búsqueda: .Text establece el texto que la macro va a buscar; .Replacement.Text establece el texto a utilizar como reemplazo; .Forward indica que la búsqueda se hará hacia delante. Una buena idea resulta ser consultar la ayuda del programa ante cualquier duda o inconveniente. Por ejemplo, dentro del editor de Visual Basic, cuando se resalta una palabra –por ejemplo, la propiedad Wrap de Selection.Find– y se presiona F1, aparece ayuda específica sobre la palabra resaltada. Esta es la forma más cómoda de aprender para qué sirve cada instrucción, propiedad o método de Visual Basic, y cómo es su sintaxis. Antes de continuar, vamos a aclarar un aspecto: ¿Por qué las dos primeras instrucciones (y la última también) de la macro no están incluidas dentro del bloque With? Algún capricho del grabador de macros, que prefiere usar los bloques With solo para manipular propiedades, y no para ejecutar métodos. Tranquilamente se puede incluir estas tres instrucciones dentro de ese bloque, borrándoles el prefijo Selection.Find. La última instrucción de la macro es el método Execute, el cual se encarga de efectuar el reemplazo del texto según las propiedades establecidas anteriormente. Ahora, este método no se ejecuta así nomás, sino que se le indica un valor para el parámetro Replace: .Execute Replace:=wdReplaceAll

El valor asignado a dicho parámetro (la constante wdReplaceAll) indica que se reemplacen todas las ocurrencias del texto buscado. No se preocupe, ya que en el capítulo 2 se explica más detalladamente el uso de parámetros y constantes. Esta macro tiene un pequeño defecto: cuando termina de ejecutar, siempre aparece un mensaje preguntando si queremos continuar la búsqueda desde el 28

Busque en el código de la macro la siguiente instrucción: .Wrap = wdFindAsk

Ahora reemplace lo que hay a la derecha del signo “=” por: wdFindStop. La instrucción corregida debe quedar así: .Wrap = wdFindStop

Vuelva a ejecutar la macro y verá que el molesto mensaje ya no aparece más. Para finalmente grabar esta modificación, cliquee el botón Grabar en la barra de herramientas. Si desplaza el mouse por encima de dicho botón, verá que el texto del botón (el “ToolTip”) dice “Guardar Normal”. Esto significa que, al cliquear en este botón, las modificaciones hechas a la macro se guardarán en la plantilla Normal, para poder ser empleada en cualquier otro momento.

Figura 3. La macro será guardada en la plantilla Normal. 29

Primeros pasos en Visual Basic

principio del documento, cosa que no tiene mucho sentido, dado que esta macro está hecha para ejecutarse únicamente sobre el texto seleccionado. Pero con una mínima edición del código Basic de la macro podemos corregir este problema muy rápidamente.

1

¿Cómo se programa en Visual Basic?

PROGRAMACIÓN DE MACROS

Resumen del capítulo En este capítulo hemos aprendido lo que es una macro y cómo se utilizan las macros en las aplicaciones de Microsoft Office. Hemos utilizado la opción de grabación de macros de Word para crear un sencillo programa en Visual Basic para Aplicaciones, para luego modificarlo mediante el editor de Visual Basic que ofrece Word. Se recomienda utilizar los conocimientos adquiridos hasta aquí para experimentar con la grabación de distintas macros en Word, Excel y Power Point, viendo –y aprendiendo– en cada uno, cómo estas aplicaciones traducen las acciones del usuario en programas Visual Basic.

PLANILLA TERMINADA

¡PRUÉBELO YA! En el sitio onweb.tectimes.com encontrará disponibles los ejemplos tratados en este libro, listos para bajar a su PC.

30