Aprenda la codificación de macros de VBA con Word 2007

El objetivo de este curso es ayudar a las personas que nunca antes han escrito un programa a aprender a escribir uno. No hay ninguna razón por la cual los empleados de oficina, las amas de casa, los ingenieros profesionales y los repartidores de pizzas no puedan aprovechar sus propios programas informáticos personalizados para trabajar de manera más rápida e inteligente. No debería tomar un 'programador profesional' (lo que sea que sea) para hacer el trabajo. Sabes lo que hay que hacer mejor que nadie. Puedes hacerlo por ti mismo!

(Y digo esto como alguien que ha pasado muchos años escribiendo programas para otras personas ... 'profesionalmente').

Dicho esto, este no es un curso sobre cómo usar una computadora.

Este curso asume que usted sabe cómo usar software popular y, en particular, que tiene Microsoft Word 2007 instalado en su computadora. Debe conocer las habilidades básicas de la computadora, como cómo crear carpetas de archivos (es decir, directorios) y cómo mover y copiar archivos. Pero si siempre te has preguntado qué era realmente un programa de computadora, está bien. Te mostraremos.

Microsoft Office no es barato. Pero puede obtener más valor de ese costoso software que ya tiene instalado. Esa es una gran razón por la que usamos Visual Basic para Aplicaciones, o VBA, junto con Microsoft Office. Hay millones que lo tienen y un puñado (tal vez nadie) que usa todo lo que puede hacer.

Sin embargo, antes de continuar, necesito explicar una cosa más sobre VBA. En febrero de 2002, Microsoft hizo una apuesta de 300 mil millones de dólares en una base tecnológica totalmente nueva para toda su empresa. Lo llamaron .NET. Desde entonces, Microsoft ha estado moviendo toda su base tecnológica a VB.NET. VBA es la última herramienta de programación que todavía usa VB6, la tecnología probada y verdadera que se usaba antes de VB.NET. (Verá la frase "basado en COM" para describir esta tecnología de nivel VB6).

VSTO y VBA

Microsoft ha creado una forma de escribir programas VB.NET para Office 2007. Se llama Visual Studio Tools for Office (VSTO). El problema con VSTO es que debe comprar y aprender a usar Visual Studio Professional. Excel en sí mismo todavía está basado en COM y los programas .NET tienen que trabajar con Excel a través de una interfaz (llamada PIA, ensamblaje de interoperabilidad primario).

Entonces ... hasta que Microsoft actúe de manera conjunta y le brinde una forma de escribir programas que funcionen con Word y no lo obligue a unirse al departamento de TI, las macros de VBA siguen siendo el camino a seguir.

Otra razón por la que usamos VBA es que realmente es un entorno de desarrollo de software 'completamente horneado' (no a medias) que los programadores han utilizado durante años para crear algunos de los sistemas más sofisticados que existen. No importa qué tan alto se fijen sus objetivos de programación. Visual Basic tiene el poder de llevarte allí.

¿Qué es una macro??

Es posible que haya utilizado anteriormente aplicaciones de escritorio que admitan lo que se llama un lenguaje macro. Las macros son tradicionalmente solo secuencias de comandos de acciones de teclado agrupadas con un nombre para que pueda ejecutarlas todas a la vez. Si siempre comienza el día abriendo su documento "MyDiary", ingresando la fecha de hoy y escribiendo las palabras "Querido diario", ¿por qué no deja que su computadora lo haga por usted? Para ser coherente con otro software, Microsoft también llama a VBA un lenguaje macro. Pero no lo es. Es mucho mas.

Muchas aplicaciones de escritorio incluyen una herramienta de software que le permitirá grabar una macro de "pulsación de tecla". En las aplicaciones de Microsoft, esta herramienta se llama Macro Recorder, pero el resultado no es una macro de pulsación de tecla tradicional. Es un programa VBA y la diferencia es que no solo reproduce las pulsaciones del teclado. Un programa VBA le da el mismo resultado final si es posible, pero también puede escribir sistemas sofisticados en VBA que dejen en el polvo macros de teclado simples. Por ejemplo, puede usar las funciones de Excel en Word usando VBA. Y puede integrar VBA con otros sistemas como bases de datos, la web u otras aplicaciones de software..

Aunque el VBA Macro Recorder es muy útil para crear simplemente macros de teclado simples, los programadores han descubierto que es aún más útil darles un comienzo en programas más sofisticados. Eso es lo que vamos a hacer.

comienzo Microsoft Word 2007 con un documento en blanco y prepárate para escribir un programa.

La pestaña Desarrollador en Word

Una de las primeras cosas que debe hacer para escribir el programa Visual Basic en Word 2007 es encontrar Visual Basic! El valor predeterminado en Word 2007 es no mostrar la cinta que se usa. Para agregar el Desarrollador pestaña, primero haga clic en el Oficina botón (el logotipo en la esquina superior izquierda) y luego haga clic Opciones de Word. Hacer clic Mostrar pestaña Desarrollador en la cinta de opciones y luego haga clic Okay.

Cuando haces clic en el Desarrollador pestaña, tiene un conjunto completamente nuevo de herramientas utilizadas para escribir programas VBA. Vamos a utilizar el VBA Macro Recorder para crear su primer programa. (Si la cinta con todas sus herramientas sigue desapareciendo, puede hacer clic con el botón derecho en la cinta y asegurarse de Minimiza la cinta no está marcado)