En ciencias de la computación, macro (del griego μακρο, makro, que significa ‘grande’) ―acortamiento de macroinstrucción― es una serie de instrucciones que se almacenan para que se puedan ejecutar de manera secuencial mediante una sola llamada u orden de ejecución. A diferencia de las funciones, son desglosadas todas las instrucciones y resueltas las mismas durante el tiempo de compilación. Esto permite la automatización de tareas repetitivas.
Las macros tienden a 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.
Son un grupo de instrucciones que se ejecutan secuencialmente y se utilizan 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 se observa 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.
Excel tiene incorporado el editor de VBA, se pueden crear macros con la grabadora de macros o escribiendo directamente los códigos en el Editor de VBA, esta última opción es más potente, ya que la grabadora de macros se limita a grabar cosas repetitivas que se hacen con el teclado, en cambio al escribir el código nos permite hacer otras cosas convirtiendo a Excel en una aplicación super potente al permitir programar macros mediante VBA.
Son un conjunto de comandos que se invocan con una palabra clave, opcionalmente seguidas de parámetros que se utilizan como código literal. Los macros son manejados por el compilador y no por el ejecutable compilado.
Los macros facilitan la actualización y mantenimiento de las aplicaciones debido a que su re-utilización minimiza la cantidad de código escrito necesario para escribir un programa.
Ejemplo de un MACRO para lenguaje BASIC:
MACRO DefVar(v, d) LOCAL v AS STRING v = d END MACRO
Este ejemplo de MACRO puede ser utilizado repetidamente para definir variables y agregarles un contenido inicial con una sintaxis más estructurada:
DefVar(artículo, "Sweater") DefVar(precio, "$ 10.00") DefVar(descuento, "10%")
Debido a que los MACROS en programación pueden contener muchas líneas de código para tareas complejas, y pueden ser invocados con un solo comando, ofrecen la posibilidad de economizar código y facilitan en gran manera tareas complejas.
La diferencia entre un MACRO y una función, es que las funciones son módulos independientes, mientras que los macros son porciones de código que el compilador "pega" en el lugar de invocación. Esto les permite la posibilidad de usar variables locales del módulo en el que son invocados, sin la necesidad de pasarlas al macro como parámetros. Además, los parámetros del macro son utilizados como código literal, y no como variables de un tipo específico.
Las macros ocultas son órdenes complejas de tipo macro que se han declarado en el código fuente pero que permanecen ocultas por motivos de seguridad, por acceso restringido, etc.
Este término ha sido popularizado por la película de ficción Tron, ambientada en un mundo informático virtual, en la que se puede escuchar una voz fuera de campo (probablemente de un programa dependiente del Control Central) que advierte a los habitantes de ese mundo que tengan cuidado con las macros ocultas.