martes, 3 de mayo de 2011

Que es una Macro?

Una macro (del griego μακρο; significa «grande»), abreviatura de macroinstrucción, es una serie de instrucciones que se almacenan para que se puedan ejecutar de forma secuencial mediante una sola llamada u orden de ejecución. Dicho de otra forma, una macroinstrucción es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la automatización de tareas repetitivas.
El término no se aplica a una serie de instrucciones escritas en la línea de comandos enlazadas unas con otras por redirección de sus resultados (piping) o para su ejecución consecutiva.
Las macros suelen almacenarse en el ámbito del propio programa que las utiliza y se ejecutan pulsando una combinación especial de teclas o un botón especialmente creado y asignado para tal efecto.
La diferencia entre una macroinstrucción y un programa es que en las macroinstrucciones la ejecución es secuencial y no existe otro concepto del flujo de programa, y por tanto, no puede bifurcarse.
Macros de aplicaciones
Las macros son grupos de instrucciones que tienen un seguimiento cronológico usadas para economizar tareas; una macro no es más que un conjunto de instrucciones tales como «borrar archivo», «añadir registro», etc., y que se almacenan en una ubicación especial por ejemplo en Microsoft Access observamos que hay una zona para crear macros, una macro en Access trabajando para una base de datos podría ser un archivo que al llamarse desde otra instrucción: borrara los registros de un cliente o accionista, luego borrara ciertos registros en otras tablas, extraerá su información de un log, entre otras cosas.

 Macros en programación

Con el fin de evitar al programador la tediosa repetición de partes idénticas de un programa, los ensambladores y compiladores cuentan con macroprocesadores que permiten definir una abreviatura para representar una parte de un programa y utilizar esa abreviatura cuantas veces sea necesario. Para utilizar una macro, primero hay que declararla. En la declaración se establece el nombre que se le dará a la macro y el conjunto de instrucciones que representará.
El programador escribirá el nombre de la macro en cada uno de los lugares donde se requiera la aplicación de las instrucciones por ella representadas. La declaración se realiza una sola vez, pero la utilización o invocación a la macro (macrollamada) puede hacerse cuantas veces sea necesario. La utilización de macros posibilita la reducción del tamaño del código fuente, aunque el código objeto tiende a ser mayor que cuando se utilizan funciones.
Es tan común el empleo de macroinstrucciones que se les considera como una extensión de los lenguajes. De manera similar se considera al procesador de macroinstrucciones o macroprocesador como una extensión del ensamblador o compilador utilizado. El macroprocesador se encarga, en una primera pasada, de registrar todas las declaraciones de macros y de rastrear el programa fuente para detectar todas las macrollamadas. En cada lugar donde encuentre una macro llamada, el macroprocesador hará la sustitución por las instrucciones correspondientes. A este proceso de sustitución se le denomina expansión de la macro. El macroprocesador elabora dos tablas para el manejo de las macros.y así también poderlos ejecutar
Ejemplos de lenguaje de macros son Visual Basic for Applications o el lenguaje de macros integrado en Microsoft Excel.

 Macros ocultos

Los macros ocultos son órdenes complejas de tipo macro que se han declarado en el código fuente pero que permanecen ocultas por motivos de seguridad, acceso restringido, etc. Este término ha sido



Como Hacer una Macro?

1.- Desde el menú Herramientas, seleccionando Macro, y a continuación Grabar nueva macro.... Nos aparecerá una ventana, y deberemos indicar el nombre que queremos darle al macro, si no deseamos dejar el que nos propone por defecto excel (Macro1, Macro2, Macro3, etc.). Los nombres de las macros tienen ciertas limitaciones, como por ejemplo que no pueden empezar por un número, ni por un guión, ni pueden tener nombres compuestos, es decir, nombres con más de una palabra, …para solventar esto último, podemos utilizar el guión bajo si queremos darle al macro un nombre más descriptivo. Una vez informado del nombre del macro, pulsaremos el botón aceptar, tal y como aparece en la siguiente imagen:

Seguidamente nos aparecerá una pequeña barra de grabación de macros, y solo nos quedará realizar las operaciones o tareas que queremos programar en la hoja de cálculo, por ejemplo, cambiar el dato de una celda, imprimir la hoja, y guardar y cerrar el libro de excel. Una vez hayamos realizado esas tareas repetitivas que queremos que realice el macro, solo nos quedará detener la grabación del macro, pulsando el botón que aparece a la izquierda, en la barra de grabación de macros (de esa pequeña barra que nos ha aparecido en el momento de empezar a crear la macro), es decir, en el botón que muestra un cuadradito de color azul, tal y como se puede observar en la siguiente imagen:

2.- La otra opción, es ir directamente al modo VBA (Visual Basic for Applications), lo que nos permitirá introducir las líneas de programación directamente, y donde veremos también el código que genera excel, tras utilizar la grabadora de macros.

Para entrar en modo VBA, tan solo deberemos pulsar la tecla Alt y sin soltarla, pulsar también la tecla F11. De esa forma, nos aparecerá una ventana donde a la izquierda nos aparecerán por defecto los proyectos, y las propiedades de los objetos.

Para poder comenzar a introducir unas líneas de código o el macro, de esta forma, tenemos dos opciones:

a) Crear el macro seleccionando en la parte correspondiente al proyecto, la carpeta llamada Microsoft Excel Objetos, y dentro de ella, pulsando sobre ThisWorkbook. Si cliqueamos dos veces sobre ThisWorkbook, nos aparecerá una ventana en blanco a la derecha, para comenzar a programar.

b) Crear el macro en un módulo. Por defecto un libro de excel nos viene sin módulos, para lo cual, tendremos que crearlo desde el menú de VBA Insertar, y seleccionando Módulo. Una vez hecho eso, veremos una nueva carpeta llamada Módulos, al mismo nivel que la de Microsoft Excel Objetos, y dentro un módulo llamado Módulo1 (al que se le puede cambiar el nombre, si lo deseamos). De esta otra forma, también nos aparecerá una ventana a la derecha para comenzar a programar, si nos cliqueamos dos veces sobre Módulo1.

No hay comentarios:

Publicar un comentario