Macros en Excel 2007 Compilado por : Guillermo Cruz Aristizábal Asesor Nacional en Gestión de Información Proyecto OID0013 Convenio 114 MPS-OIM Macros en Excel 2007 Índice Crear una macro ........................................................................................................................... 1 Grabar una macro ..................................................................................................................................1 Crear una macro mediante Microsoft Visual Basic............................................................................. 2 Copiar parte de una macro para crear otra..........................................................................................3 Asignar una macro a un objeto, gráfico o control ..............................................................................3 Eliminar una macro................................................................................................................................4 Ejecutar una macro ....................................................................................................................... 5 Ejecutar una macro................................................................................................................................5 Ejecutar una macro presionando una combinación de teclas de método abreviado con CTRL ....6 Ejecutar una macro haciendo clic en un botón de la barra de herramientas de acceso rápido .....6 Ejecutar una macro haciendo clic en un área de un objeto gráfico ..................................................6 Ejecutar automáticamente una macro al abrir un libro.......................................................................7 Eliminar macros........................................................................................................................... 10 Mostrar la ficha Programador.......................................................................................................................... 10 Eliminar una sola macro .................................................................................................................................. 10 Eliminar proyectos macro................................................................................................................................ 10 Escribir o grabar una macro ........................................................................................................ 11 Mostrar la ficha Programador .............................................................................................................11 Utilizar la grabadora de macros..........................................................................................................11 Utilizar Visual Basic para Aplicaciones .............................................................................................12 Firmar digitalmente un proyecto de macro.................................................................................. 13 Obtener un certificado digital para firmar..........................................................................................13 Crear un certificado digital propio para firmar ..................................................................................13 Firmar digitalmente un proyecto de macro........................................................................................ 13 Modificar una macro.................................................................................................................... 15 Descripción general de la seguridad de macros ......................................................................... 16 Configuración de seguridad de macros y sus efectos .....................................................................16 Firmas digitales y cómo funcionan ....................................................................................................16 Habilitar o deshabilitar macros en documentos de Office........................................................... 18 ¿Qué es una macro y cuáles son los riesgos de seguridad? ..........................................................18 ¿Cómo puede protegerme el Centro de confianza de macros no seguras? ..................................18 ¿Qué debo hacer cuando una advertencia de seguridad pregunte si deseo habilitar o deshabilitar una macro?......................................................................................................................19 Cambiar la configuración de seguridad de las macros de todos los documentos en el Centro de confianza ..................................................................................................................................... 21 Macros en Excel 2007 Crear una macro Para automatizar tareas repetitivas, puede grabar rápidamente una macro (macro: acción o conjunto de acciones utilizados para automatizar tareas. Las macros se graban en el lenguaje de programación de Visual Basic para Aplicaciones.) en Microsoft Office Excel. También puede crear una macro utilizando el Editor de Visual Basic (Editor de Visual Basic: entorno en el que puede escribir y modificar código y procedimientos de Visual Basic para Aplicaciones. El Editor de Visual Basic contiene un conjunto completo de herramientas de depuración para buscar sintaxis, tiempo de ejecución y problemas lógicos en el código en uso.) en Microsoft Visual Basic para escribir sus propias secuencias de comandos de macro o para copiar toda o parte de una macro en una nueva macro. Una vez creada una macro, puede asignarla a un objeto (como un botón de barra de herramientas, un gráfico o un control) para que pueda ejecutarla haciendo clic en ese objeto. Si ya no es necesario utilizar una macro, puede eliminarla. Grabar una macro Cuando grabe una macro, la grabadora de macros graba todos los pasos necesarios para completar las acciones que desea grabar. En los pasos grabados no se incluye el desplazamiento por la cinta de opciones. 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar. y, a continuación, haga clic en 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. En la ficha Programador, en el grupo Código, haga clic en Grabar macro. 4. En el cuadro Nombre de la macro, escriba un nombre para la macro. NOTA El primer carácter del nombre de la macro debe ser una letra. Los caracteres siguientes pueden ser letras, números o caracteres de subrayado. No se permiten espacios en un nombre de macro; puede utilizarse un carácter de subrayado como separador de palabras. Si utiliza un nombre de macro que también es una referencia de celda, puede aparecer un mensaje indicando que el nombre de la macro no es válido. 5. Para asignar una combinación de tecla de método abreviado (método abreviado: tecla o combinación de teclas de función, como F5 o CTRL+A, que utiliza para ejecutar un comando. Una tecla de acceso, por lo contrario es un combinación de teclas, como ALT+F, que mueve el enfoque a un menú, comando o control.) con CTRL para ejecutar la macro, en el cuadro Tecla de método abreviado, escriba cualquier letra en mayúsculas o minúsculas que desee utilizar. NOTA La tecla de método abreviado suplantará a cualquier tecla de método abreviado predeterminada equivalente en Excel mientras esté abierto el libro que contiene la macro. Para obtener una lista de teclas de método abreviado que utilicen la tecla CTRL que ya están asignadas en Excel, vea Teclas de función y de método abreviado de Excel. 6. En la lista Guardar macro en, seleccione el libro en el que desea almacenar la macro. -1– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 SUGERENCIA Si desea que la macro esté disponible siempre que utilice Excel, seleccione Libro de macros personal. Cuando se selecciona Libro de macros personal, Excel crea un libro oculto de macros personal (Personal.xlsb), si no existe todavía, y guarda la macro en este libro. En Microsoft Windows XP, este libro se guarda en la carpeta C:\Documents and Settings\nombre de usuario\Datos de programa\Microsoft\Excel\XLStart para que se pueda cargar automáticamente cada vez que se inicia Excel. En Microsoft Windows Vista, este libro se guarda en la carpeta C:\Usuarios\nombre de usuario\Datos de programa\Microsoft\Excel\XLStart. Si desea que se ejecute automáticamente una macro del libro de macros personal en otro libro, también debe guardar ese libro en la carpeta XLStart, de forma que ambos libros se abran cuando se inicie Excel. 7. Para incluir una descripción de la macro, escriba el texto que desee en el cuadro Descripción. 8. Haga clic en Aceptar para iniciar la grabación. 9. Realice las acciones que desee grabar. 10. En la ficha Programador, en el grupo Código, haga clic en Detener grabación SUGERENCIA También puede hacer clic en Detener grabación . en el lado izquierdo de la barra de estado. Crear una macro mediante Microsoft Visual Basic 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar. y, a continuación, haga clic en 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. En la ficha Programador, en el grupo Código, haga clic en Visual Basic. 4. Si es necesario, en el menú Insertar, haga clic en Módulo. NOTA Se crean módulos automáticamente para todas las hojas del libro. 5. En la ventana de código del módulo, escriba o copie el código de macro que desea utilizar. 6. Para ejecutar la macro desde la ventana del módulo, presione F5. 7. En el menú Archivo, haga clic en Cerrar y volver a Microsoft Excel cuando termine de escribir la macro. -2– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Copiar parte de una macro para crear otra 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar. y, a continuación, haga clic en 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. Abra el libro que contiene la macro que desee copiar. 4. En la ficha Programador, en el grupo Código, haga clic en Macros. 5. En el cuadro Nombre de la macro, haga clic en el nombre de la macro que desee copiar. 6. Haga clic en Modificar. 7. En la ventana de código del Editor de Visual Basic, seleccione las líneas de la macro que desee copiar. SUGERENCIA Para copiar toda la macro, asegúrese de incluir las líneas Sub y End Sub en la selección. 8. En el menú Edición, elija Copiar. SUGERENCIA También puede hacer clic con el botón secundario del mouse (ratón) y después hacer clic en Copiar en el menú contextual, o bien, puede presionar CTRL+C. 9. En el cuadro Procedimiento de la ventana de código, haga clic en el módulo en el que desea colocar el código. 10. En el menú Edición, elija Pegar. SUGERENCIA También puede hacer clic con el botón secundario del mouse y después hacer clic en Pegar en el menú contextual, o bien, puede presionar CTRL+V. SUGERENCIA El archivo de libro de macros personal (Personal.xlsb) no se puede modificar porque es un libro oculto que siempre está abierto. Primero debe mostrarlo utilizando el comando Mostrar. También puede abrirlo en el Editor de Visual Basic presionando ALT+F11. Asignar una macro a un objeto, gráfico o control 1. En una hoja de cálculo, haga clic con el botón secundario del mouse en el objeto, gráfico o control al que desea asignar una macro existente y, a continuación, haga clic en Asignar macro en el menú contextual. 2. En el cuadro Nombre de la macro, haga clic en la macro que desea asignar. -3– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Eliminar una macro 1. Abra el libro que contiene la macro que desee eliminar. 2. En la ficha Programador, en el grupo Código, haga clic en Macros. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar. y, a continuación, haga clic en 3. En la lista Macros en, seleccione Este libro. 4. En el cuadro Nombre de la macro, haga clic en el nombre de la macro que desee eliminar. 5. Haga clic en Eliminar. -4– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Ejecutar una macro Existen varias maneras de ejecutar una macro (macro: acción o conjunto de acciones utilizados para automatizar tareas. Las macros se graban en el lenguaje de programación de Visual Basic para Aplicaciones.). Siempre puede ejecutar una macro utilizando el comando de menú. Dependiendo de cómo esté asignada la ejecución a la macro, puede que también pueda ejecutarla presionando una combinación de teclas de método abreviado (método abreviado: tecla o combinación de teclas de función, como F5 o CTRL+A, que utiliza para ejecutar un comando. Una tecla de acceso, por lo contrario es un combinación de teclas, como ALT+F, que mueve el enfoque a un menú, comando o control.) con CTRL o haciendo clic en un botón de barra de herramientas o en un área de un objeto, un gráfico o un control. Asimismo, puede ejecutar una macro automáticamente cuando se abre el libro. NOTA Cuando el nivel de seguridad de macros de Microsoft Office Excel está establecido en Deshabilitar todas las macros sin notificación, Excel sólo ejecutará las macros firmadas digitalmente o almacenadas en una ubicación de confianza, como por ejemplo la carpeta de inicio de Excel. Si la macro que desea ejecutar no está firmada digitalmente o no está almacenada en una ubicación de confianza, puede cambiar temporalmente el nivel de seguridad para que se habiliten todas las macros. Ejecutar una macro 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar. y, a continuación, haga clic en 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En la categoría Configuración de macros, bajo Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. Abra el libro que contiene la macro. 4. En la ficha Programador, en el grupo Código, haga clic en Macros. 5. En el cuadro Nombre de la macro, haga clic en la macro que desea ejecutar. 6. Siga uno de los procedimientos siguientes: Para ejecutar una macro en un libro de Excel, haga clic en Ejecutar. SUGERENCIA También puede presionar CTRL+F8 para ejecutar la macro. Puede interrumpir la ejecución de la macro presionando ESC. Para ejecutar una macro desde un módulo de Microsoft Visual Basic, haga clic en Edición y, a continuación, en el menú Ejecutar, haga clic en Ejecutar Sub/UserForm o presione F5. SUGERENCIA Puede ejecutar otra macro mientras trabaja en el Editor de Visual Basic. En la ficha Programador, en el grupo Código, haga clic en Macros. En el cuadro Nombre de la macro, haga clic en la macro que desea ejecutar y, a continuación, en Ejecutar. -5– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Ejecutar una macro presionando una combinación de teclas de método abreviado con CTRL 1. En la ficha Programador, en el grupo Código, haga clic en Macros. 2. En el cuadro Nombre de la macro, haga clic en la macro a la que desea asignar una combinación de teclas con CTRL. 3. Haga clic en Opciones. 4. En el cuadro Tecla de método abreviado, escriba cualquier letra minúscula o mayúscula que desee utilizar. NOTA La tecla de método abreviado suplantará a cualquier tecla de método abreviado predeterminada equivalente en Excel mientras esté abierto el libro que contiene la macro. Para obtener una lista de teclas de método abreviado que utilicen la tecla CTRL que ya están asignadas en Excel, vea Teclas de función y de método abreviado de Excel. 5. Para incluir una descripción de la macro, escriba el texto que desee en el cuadro Descripción. 6. Haga clic en Aceptar y, a continuación, en Cancelar. Ejecutar una macro haciendo clic en un botón de la barra de herramientas de acceso rápido 1. Haga clic en el Botón Microsoft Office Excel. y, a continuación, haga clic en Opciones de 2. Haga clic en Personalizar y, a continuación, en la lista Comandos disponibles en, seleccione Comandos más utilizados. 3. En el cuadro de lista, haga clic en Ver macros y, a continuación, en Agregar. 4. Haga clic en Aceptar. SUGERENCIA 5. El botón Ver macros se agregará a la barra de herramientas de acceso rápido. En la barra de herramientas de acceso rápido, haga clic en el botón Ver macros. 6. En el cuadro Nombre de la macro, haga clic en la macro que desea ejecutar y, a continuación, en Ejecutar. Ejecutar una macro haciendo clic en un área de un objeto gráfico 1. En la hoja de cálculo, seleccione un objeto gráfico existente, como una imagen, una imagen prediseñada, una forma o un gráfico SmartArt. 2. Para crear una zona activa en el objeto existente, en la ficha Insertar, en el grupo Ilustraciones, haga clic en Formas, seleccione la forma que desea utilizar y, a continuación, dibuje dicha forma en el objeto existente. -6– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 3. Haga clic con el botón secundario del mouse (ratón) en la zona activa que ha creado y, a continuación, elija Asignar Macro en el menú contextual (menú contextual: menú que muestra una lista de comandos relacionados con un elemento determinado. Para mostrar un menú contextual, haga clic con el botón secundario del mouse (ratón) en el elemento, o presione MAYÚS+F10.). 4. Siga uno de los procedimientos siguientes: Para asignar una macro al botón u objeto gráfico, haga doble clic en la macro o escriba el nombre de la misma en el cuadro Nombre de la macro. Para grabar una nueva macro y asignarla al objeto gráfico seleccionado, haga clic en Grabar. Cuando termine de grabar la macro, haga clic en Detener grabación en la ficha Programador en el grupo Código. SUGERENCIA También puede hacer clic en Detener grabación de la barra de estado. Para modificar una macro existente, haga clic en el nombre de la macro, en el cuadro Nombre de la macro y, a continuación, haga clic en Modificar. 5. Haga clic en Aceptar. 6. En la hoja de cálculo, seleccione la zona activa. SUGERENCIA 7. en el lado izquierdo Se mostrarán las Herramientas de dibujo con la ficha Formato. En la ficha Formato, en el grupo Estilo de forma, haga lo siguiente: Haga clic en la flecha situada junto a Relleno de forma y, a continuación, haga clic en Sin relleno. Haga clic en la flecha situada junto a Contorno de forma y, a continuación, haga clic en Sin contorno. Ejecutar automáticamente una macro al abrir un libro Si graba una macro y la guarda usando el nombre "Auto_Abrir", la macro se ejecutará cada vez que se abra el libro que contiene la macro. Otra forma de ejecutar automáticamente una macro al abrir un libro es escribir un procedimiento de Visual Basic para Aplicaciones (VBA) en el evento Open del libro utilizando el Editor de Visual Basic (Editor de Visual Basic: entorno en el que puede escribir y modificar código y procedimientos de Visual Basic para Aplicaciones. El Editor de Visual Basic contiene un conjunto completo de herramientas de depuración para buscar sintaxis, tiempo de ejecución y problemas lógicos en el código en uso.). El evento Open es un evento de libro integrado que ejecuta su código de macro cada vez que se abre el libro. Crear una macro Auto_abrir 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Trabajar con Excel y con otras aplicaciones de Office, active la casilla de verificación Herramientas para el programador y haga clic en Aceptar. -7– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM y, a continuación, haga clic en Macros en Excel 2007 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En la categoría Configuración de macros, bajo Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. Si desea guardar la macro con un libro determinado, abra primero ese libro. 4. En la ficha Programador, en el grupo Código, haga clic en Grabar macro. 5. En el cuadro Nombre de la macro, escriba Auto_abrir. 6. En la lista Guardar macro en, seleccione el libro en el que desea almacenar la macro. SUGERENCIA Si desea que la macro esté disponible siempre que utilice Excel, seleccione Libro de macros personal. Cuando se elige Libro de macros personal, Excel crea un libro oculto de macros personal (Personal.xlsb), si no existe todavía, y guarda la macro en este libro. En Microsoft Windows XP, este libro se guarda en la carpeta C:\Documents and Settings\nombre de usuario\Datos de programa\Microsoft\Excel\XLStart para que se pueda cargar automáticamente cada vez que se inicia Excel. En Microsoft Windows Vista, este libro se guarda en la carpeta C:\Usuarios\nombre de usuario\Datos de programa\Microsoft\Excel\XLStart. Si desea que se ejecute automáticamente una macro del libro de macros personal en otro libro, también debe guardar ese libro en la carpeta XLStart, de forma que ambos libros se abran cuando se inicie Excel. 7. Haga clic en Aceptar y realice las acciones que desea grabar. 8. En la ficha Programador, en el grupo Código, haga clic en Detener grabación SUGERENCIA También puede hacer clic en Detener grabación . en el lado izquierdo de la barra de estado. NOTAS Si en el paso 6 eligió guardar la macro en Este libro o en Libro nuevo, guarde o mueva el libro a una de las carpetas XLStart. La grabación de una macro Auto_abrir tiene las limitaciones siguientes: o Muchas de las acciones que quizás desee realizar no se pueden grabar. o Si el libro en el que guarde la macro Auto_abrir ya contiene un procedimiento de VBA en su evento Open, el procedimiento de VBA del evento Open reemplazará todas las acciones contenidas en la macro Auto_abrir. o Las macros Auto_abrir se omiten cuando se abren libros mediante programación utilizando el método Open. o Una macro Auto_abrir se ejecuta antes de que se abra cualquier otro libro. Por lo tanto, si graba acciones que desea que realice Excel en el libro predeterminado Libro1 o en un libro cargado desde la carpeta XLStart, la macro Auto_abrir producirá un error cuando reinicie Excel porque la macro se ejecuta antes de abrir los libros de inicio y el predeterminado. Si encuentra estas limitaciones, en vez de grabar una macro Auto_abrir, debe crear un procedimiento de VBA para el evento Open como se describe en la sección siguiente de este artículo. -8– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Crear un procedimiento de VBA para el evento Open de un libro El ejemplo siguiente utiliza el evento Open para ejecutar una macro al abrir el libro. 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Trabajar con Excel y con otras aplicaciones de Office, active la casilla de verificación Herramientas para el programador y haga clic en Aceptar. y, a continuación, haga clic en 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En la categoría Configuración de macros, bajo Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. Guarde y cierre todos los libros abiertos. 4. Abra el libro al que desea agregar la macro o cree un nuevo libro. 5. En la ficha Programador, en el grupo Código, haga clic en Visual Basic. 6. En la ventana Explorador de proyectos, haga clic con el botón secundario del mouse en el objeto ThisWorkbook y, a continuación, haga clic en Ver código en el menú contextual. SUGERENCIA Si la ventana Explorador de proyectos no está visible, en el menú Ver, haga clic en Explorador del proyecto. 7. En la lista Objeto situada encima de la ventana Código, seleccione Libro. De esta manera se crea un procedimiento vacío para el evento Open, como el siguiente: Private Sub Private Sub Workbook_Open() End Sub 8. Agregue al procedimiento las líneas de código siguientes: Private Sub Private Sub Workbook_Open() MsgBox Date Worksheets("Hoja1").Range("A1").Value = Date End Sub 9. Cambie a Excel y guarde el libro como libro habilitado para macros (.xlsm). 10. Cierre y vuelva a abrir el libro. Al abrir de nuevo el libro, Excel ejecuta el procedimiento Private Sub Workbook_Open, que muestra la fecha actual en un cuadro de mensaje. 11. Haga clic en Aceptar en el cuadro de mensaje. 12. Observe que la celda A1 de la Hoja1 también contiene la fecha, como resultado de ejecutar el procedimiento Private Sub Workbook_Open. -9– Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Eliminar macros Una macro consiste en una serie de comandos e instrucciones de Microsoft Office Word que se agrupan en un solo comando de forma que la tarea pueda realizarse automáticamente. Para trabajar con macros en Microsoft Office Word 2007 es necesario mostrar la ficha Programador. Mostrar la ficha Programador 1. Haga clic en el botón de Microsoft Office Word. 2. y, a continuación, haga clic en Opciones de Haga clic en Más frecuentes. 3. En Opciones principales para trabajar con Word, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones. Eliminar una sola macro 1. En la ficha Programador, en el grupo Código, haga clic en Macros. 2. En la lista Nombre de la macro, seleccione el nombre de la macro que desea eliminar. Si no aparece en la lista, seleccione otro documento o plantilla (plantilla: archivo o archivos que contienen la estructura y las herramientas para dar forma a elementos como el estilo o el diseño de página de los archivos finalizados. Por ejemplo, las plantillas de Word pueden dar forma a un documento sencillo, y las plantillas de FrontPage pueden dar forma a un sitio Web completo.) en la lista Macros en. 3. Haga clic en Eliminar. Eliminar proyectos macro Un proyecto de macro es un conjunto de componentes que incluye macros, formularios, código y módulos de clases. 1. En la ficha Programador, en el grupo Código, haga clic en Macros. 2. Haga clic en Organizador. 3. En la ficha Elementos del proyecto macro, haga clic en el proyecto macro que desee eliminar de cualquier lista y, a continuación, haga clic en Eliminar. Word mostrará en la lista de la izquierda los proyectos macro utilizados en el documento activo (documento activo: documento en el que se está trabajando. En la vista Esquema, Microsoft Word muestra un símbolo a la izquierda de este tipo de texto. Todo el texto que se escriba o los gráficos que se inserten en Microsoft Word aparecerán en el documento activo. La barra de título del documento activo se muestra resaltada.) y, en la lista de la derecha, los proyectos macro de la plantilla Normal del documento (plantilla Normal: plantilla global que puede utilizar para cualquier tipo de documento. Puede modificar esta plantilla para cambiar el formato o el contenido predeterminado del documento.). - 10 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Escribir o grabar una macro En Microsoft Office Word 2007 se pueden automatizar las tareas realizadas con más frecuencia creando macros. Una macro consiste en una serie de comandos e instrucciones que se agrupan en un solo comando de manera que la tarea pueda realizarse automáticamente. Con frecuencia, las macros se utilizan para lo siguiente: Acelerar las tareas rutinarias de modificaciones y formatos. Combinar varios comandos; por ejemplo, para insertar una tabla con un tamaño y bordes específicos, y con un número determinado de filas y columnas. Hacer que una opción de un cuadro de diálogo sea más accesible. Automatizar series de tareas complejas. Para crear macros puede utilizar la grabadora de macros para grabar una secuencia de acciones, o bien, puede crear macros desde el principio escribiendo código de Visual Basic para Aplicaciones (Visual Basic para Aplicaciones (VBA): versión del lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones basadas en Microsoft Windows y que se incluye en varios programas de Microsoft.) en el Editor de Visual Basic (Editor de Visual Basic: entorno en el que puede escribir y modificar código y procedimientos de Visual Basic para Aplicaciones. El Editor de Visual Basic contiene un conjunto completo de herramientas de depuración para buscar sintaxis, tiempo de ejecución y problemas lógicos en el código en uso.). NOTA Para trabajar con macros en Office Word 2007 es necesario mostrar la ficha Programador. Mostrar la ficha Programador 1. Haga clic en el botón de Microsoft Office Word. 2. y, a continuación, haga clic en Opciones de Haga clic en Más frecuentes. 3. Bajo Opciones principales para trabajar con Word, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones. Utilizar la grabadora de macros 1. En la ficha Programador, en el grupo Código, haga clic en Grabar macro. 2. En el cuadro Nombre de macro, escriba el nombre correspondiente. NOTA Si asigna a una nueva macro el mismo nombre que el de una macro integrada existente en Office Word 2007, las acciones de la primera reemplazarán a las de la macro integrada. Para ver una lista de las macros integradas, en la ficha Programador, dentro del grupo Código, haga clic en Macros. En la lista Macros en, haga clic en Comandos de Word. 3. En el cuadro Guardar macro en, haga clic en la plantilla (plantilla: archivo o archivos que contienen la estructura y las herramientas para dar forma a elementos como el estilo o el diseño de página de los archivos finalizados. Por ejemplo, las plantillas de Word pueden dar forma a un documento sencillo, y las plantillas de FrontPage pueden dar forma a un sitio Web completo.) o en el documento en que desea guardar la macro. 4. En el cuadro Descripción, escriba un texto descriptivo de la macro. 5. Siga uno de estos procedimientos: Para empezar a grabar la macro sin asignarla a un botón de la Barra de herramientas de acceso rápido o a una tecla de método abreviado, haga clic en Aceptar. Para asignar la macro a la Barra de herramientas de acceso rápido, siga estos pasos: Haga clic en Botón. Bajo Personalizar barra de herramientas de acceso rápido, seleccione el documento (o todos los documentos) para el que desea agregar la macro a la Barra de herramientas de acceso rápido. - 11 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 6. En el cuadro de diálogo Comandos disponibles en, haga clic en la macro que vaya a grabar y, a continuación, haga clic en Agregar. Haga clic en Aceptar para comenzar a grabar la macro. Para asignar la macro a un método abreviado de teclado, siga este procedimiento: 1. Haga clic en Teclado. 2. En el cuadro Comandos, haga clic en la macro que va a grabar. 3. En el cuadro Nueva tecla de método abreviado, escriba la secuencia de teclas que desea utilizar y haga clic en Asignar. 4. Haga clic en Cerrar para empezar a grabar la macro. Realice las acciones que desee incluir en la macro. NOTA Cuando grabe una macro, utilice el mouse (ratón) para hacer clic en comandos y opciones, pero no para seleccionar texto. Si desea seleccionar texto, hágalo usando el teclado. Para obtener información sobre cómo seleccionar texto utilizando el teclado, vea el tema Seleccionar texto. 7. Para dejar de grabar las acciones, haga clic en Detener grabación en el grupo Código. Utilizar Visual Basic para Aplicaciones 1. En la ficha Programador, en el grupo Código, haga clic en Macros. 2. En el cuadro Nombre de macro, escriba el nombre correspondiente. NOTA Si asigna a una nueva macro el mismo nombre que el de una macro integrada existente en Office Word 2007, las acciones de la primera reemplazarán a las de la macro integrada. Para ver una lista de las macros integradas, haga clic en Comandos de Word en la lista Macros en. 3. En la lista Macros en, haga clic en la plantilla (plantilla: archivo o archivos que contienen la estructura y las herramientas para dar forma a elementos como el estilo o el diseño de página de los archivos finalizados. Por ejemplo, las plantillas de Word pueden dar forma a un documento sencillo, y las plantillas de FrontPage pueden dar forma a un sitio Web completo.) o el documento donde desee guardar la macro. 4. Haga clic en Crear para abrir el Editor de Visual Basic. - 12 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Firmar digitalmente un proyecto de macro En este artículo, se explica cómo se puede firmar digitalmente (firma digital: sello electrónico seguro con cifrado que certifica la autenticidad de una macro o documento. Esta firma confirma que la macro o documento emitido por el equipo o la persona que lo firma no ha sido alterado.) un archivo o un proyecto de macro (proyecto de macro: colección de componentes, incluidos formularios, código y módulos de clase, que constituyen una macro. Los proyectos de macro creados en Microsoft Visual Basic para aplicaciones se pueden incluir en los complementos y en la mayoría de los programas de Microsoft Office.) mediante un certificado (certificado: medio digital de confirmar la identidad y la autenticidad. Los certificados son emitidos por entidades emisoras de certificados y, al igual que ocurre con los permisos de conducción, pueden caducar o ser revocados.). Si aún no tiene ningún certificado digital, debe obtener uno. Para probar los proyectos de macro en su propio equipo, puede crear su propio certificado de firma con la herramienta Selfcert.exe. Obtener un certificado digital para firmar Puede obtener un certificado digital de una entidad emisora de certificados (entidad emisora de certificados: organización comercial que emite certificados digitales, realiza un seguimiento de quién está asignado a un certificado, firma los certificados para verificar su validez y controla qué certificados están revocados o han caducado) comercial, del administrador de seguridad interna o de un profesional de tecnologías de la información (IT). Para obtener más información acerca de las entidades emisoras de certificados que ofrecen servicios para productos de Microsoft, vea la lista de Miembros del Programa de certificados raíz de Microsoft. Crear un certificado digital propio para firmar Dado que el certificado digital que cree no lo ha emitido ninguna entidad emisora de certificados oficial, los proyectos de macro firmados con tales certificados se conocen como proyectos con firma propia. Microsoft Office sólo confía en los certificados con firma propia de los equipos que tengan ese certificado en el almacén de certificados personales. Crear un certificado de firma propia 1. 2. Siga uno de estos procedimientos: En Microsoft Windows Vista, haga clic en el botón Inicio, elija Todos los programas, haga clic en Microsoft Office, haga clic en Herramientas de Microsoft Office y, a continuación, haga clic en Certificado digital para proyectos de VBA. En el cuadro Nombre del certificado, escriba un nombre descriptivo para el certificado. En Microsoft Windows XP, haga clic en el botón Inicio, elija Todos los programas, Microsoft Office, Herramientas de Microsoft Office y, a continuación, haga clic en Certificado digital para proyectos de VBA. En el cuadro Nombre del certificado, escriba un nombre descriptivo para el certificado. Cuando aparezca el mensaje de confirmación del certificado, haga clic en Aceptar. Para ver el certificado en el almacén de certificados personales, siga este procedimiento: 1. Abra Windows Internet Explorer. 2. En el menú Herramientas, haga clic en Opciones de Internet y, a continuación, haga clic en la ficha Contenido. 3. Haga clic en Certificados y, a continuación, haga clic en la ficha Personal. Firmar digitalmente un proyecto de macro 1. Abra el archivo que contiene el proyecto de macro que desee firmar. 2. Siga uno de estos procedimientos en los programas de 2007 Microsoft Office system que se indican: Word, Excel o PowerPoint En la ficha Programador del grupo Código, haga clic en Visual Basic. y, Si la ficha Programador no está disponible, haga clic en el botón de Microsoft Office a continuación, haga clic en Opciones de Nombre del programa, donde Nombre de - 13 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 programa es el nombre del programa que está utilizando, por ejemplo, Opciones de Word. Haga clic en Más frecuentes y, a continuación, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones. Visio, Outlook o Publisher En el menú Herramientas, seleccione Macro y, a continuación, haga clic en Editor de Visual Basic. 3. En el Explorador de proyecto de Visual Basic, seleccione el proyecto que desee firmar. 4. En el menú Herramientas, haga clic en Firma digital. 5. Siga uno de estos procedimientos: Si no ha seleccionado previamente un certificado digital o desea usar otro, haga clic en Elegir, seleccione el certificado y haga clic en Aceptar dos veces. Para usar el certificado actual, haga clic en Aceptar. NOTAS No firme las macros hasta que se haya probado la solución y esté lista para la distribución, porque cuando se modifica de algún modo el código de un proyecto de macro firmado, la firma digital se elimina. De todos modos, si dispone del certificado digital apropiado en su equipo, el proyecto de macro se volverá a firmar automáticamente una vez guardado. Si desea impedir que los usuarios de la solución modifiquen la macro accidentalmente e invaliden la firma, bloquee el proyecto de macro antes de firmarlo. La firma digital sólo indica que el usuario garantiza que el proyecto no se ha manipulado después de haber sido firmado, no demuestra que el usuario lo haya escrito. Así pues, bloquear el proyecto no impide que otro usuario sustituya la firma digital por otra firma. Los administradores corporativos pueden volver a firmar las plantillas (plantilla: archivo o archivos que contienen la estructura y las herramientas para dar forma a elementos como el estilo o el diseño de página de los archivos finalizados. Por ejemplo, las plantillas de Word pueden dar forma a un documento sencillo, y las plantillas de FrontPage pueden dar forma a un sitio Web completo.) y complementos (complemento: programa suplementario que agrega funciones o comandos personalizados a Microsoft Office.) para poder controlar exactamente qué usuarios podrían operar en sus equipos. Si crea un complemento que agrega código a un proyecto de macro, el código debe determinar si el proyecto se ha firmado digitalmente e informar al usuario de las consecuencias de modificar un proyecto firmado antes de continuar. Cuando firme macros digitalmente, es importante que obtenga una marca de hora para que otros usuarios puedan comprobar la firma incluso después de que haya caducado el certificado de ésta. Si firma proyectos de macro sin ninguna marca de hora, la firma sólo será válida durante el período de validez del certificado. - 14 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Modificar una macro Antes de modificar una macro (macro: acción o conjunto de acciones utilizados para automatizar tareas. Las macros se graban en el lenguaje de programación de Visual Basic para Aplicaciones.), deberá familiarizarse con el Editor de Visual Basic (Editor de Visual Basic: entorno en el que puede escribir y modificar código y procedimientos de Visual Basic para Aplicaciones. El Editor de Visual Basic contiene un conjunto completo de herramientas de depuración para buscar sintaxis, tiempo de ejecución y problemas lógicos en el código en uso.). Puede utilizar el Editor de Visual Basic para escribir y modificar macros adjuntas a los libros de Microsoft Excel. 1. Si la ficha Programador no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office Opciones de Excel. En la categoría Más frecuentes, bajo Opciones principales para trabajar con Excel, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones y, a continuación, haga clic en Aceptar. y, a continuación, haga clic en 2. Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. NOTA Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. 3. En la ficha Programador, en el grupo Código, haga clic en Macros. 4. En el cuadro Nombre de la macro, haga clic en la macro que desea modificar. 5. Haga clic en Modificar. SUGERENCIA Para obtener Ayuda para el Editor de Visual Basic, haga clic en Ayuda de Microsoft Visual Basic en el menú Ayuda o presione F1. - 15 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Descripción general de la seguridad de macros En Microsoft Office Excel puede elegir la configuración de seguridad de macros para controlar qué ocurre cuando se abre un libro que contiene macros. Por ejemplo, puede elegir ejecutar macros en función de si están firmadas digitalmente por un programador incluido en su lista de fuentes de confianza. Configuración de seguridad de macros y sus efectos La información siguiente resume cómo funciona la protección antivirus en macros en cada configuración. En todas las configuraciones, si se tiene instalado software antivirus que funciona con 2007 Microsoft Office system y si el libro contiene macros, el libro se analiza para buscar virus conocidos antes de abrirlo. La configuración de seguridad de macros se puede cambiar en el Centro de confianza (botón de Microsoft Office , botón Opciones de Excel, categoría Centro de confianza, botón Configuración del Centro de confianza, categoría Configuración de macros. O bien, en la ficha Programador, en el grupo Código, botón Seguridad de macros). Sin embargo, si trabaja en una organización, puede que el administrador del sistema haya cambiado la configuración predeterminada e impida que los usuarios modifiquen la configuración. NOTA Cualquier cambio de configuración de macros que realice en Excel, dentro de la categoría Configuración de macros, sólo se aplicará a Excel y no afectará a los demás programas de Office. Utilice esta configuración de macros Con este objetivo Deshabilitar todas las macros sin notificación Utilice este ajuste si no confía en las macros. Se deshabilitan todas las macros contenidas en los documentos, así como todos los avisos de seguridad que informan de que las macros están deshabilitadas. Si hay documentos con macros sin firmar que considera de confianza, puede colocar esos documentos en una ubicación de confianza. Se permite la ejecución de los documentos situados en ubicaciones de confianza sin que los compruebe el sistema de seguridad del Centro de confianza. Deshabilitar todas las macros con notificación Ésta es la configuración predeterminada. Utilícela si desea deshabilitar las macros pero desea recibir avisos de seguridad si existen macros. De esta manera, puede elegir cuándo habilitar las macros caso por caso. Deshabilitar todas las macros excepto las firmadas digitalmente Este ajuste es el mismo que el de la opción Deshabilitar todas las macros con notificación, a excepción de que, si la macro está firmada digitalmente por un editor de confianza, podrá ejecutarse si ya confía en el editor. Si el editor no es de confianza, se le notifica este hecho para que, de esa manera, pueda elegir si desea habilitar las macros firmadas o confiar en el editor. Todas las macros no firmadas digitalmente se deshabilitan sin ninguna notificación. Habilitar todas las macros (no recomendado, puede ejecutarse código posiblemente peligroso) Utilice esta configuración para permitir temporalmente la ejecución de todas las macros. Puesto que con este ajuste el equipo es vulnerable a código posiblemente peligroso, no es recomendable utilizarlo de manera permanente. Confiar en el acceso al modelo de objeto de proyectos de VBA Esta configuración está dirigida sólo a los programadores. Firmas digitales y cómo funcionan versión Office 2007 utiliza la tecnología Authenticode de Microsoft para permitir a los creadores de macros firmar digitalmente (firma digital: sello electrónico seguro con cifrado que certifica la autenticidad de una macro o documento. Esta firma confirma que la macro o documento emitido por el equipo o la persona que lo firma no ha sido alterado.) un archivo o un proyecto de macro (proyecto de macro: colección de componentes, incluidos formularios, código y módulos de clase, que constituyen una macro. Los proyectos de macro creados en Microsoft Visual Basic para aplicaciones se pueden incluir en los complementos y en la mayoría de los programas de Microsoft Office.). El certificado utilizado para crear - 16 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 esta firma confirma que la macro o el documento proceden del firmante y la firma certifica que la macro o el documento no se han alterado posteriormente. Después de instalar su certificado digital (certificado digital: datos adjuntos a un archivo, proyecto de macro o mensaje de correo electrónico que da fe de su autenticidad, proporciona cifrado seguro o una firma que se puede comprobar. Para firmar digitalmente proyectos de macro, se debe instalar un certificado digital.), puede firmar archivos y proyectos de macro. Firmar macros digitalmente Sólo debería firmar las macros una vez probada la solución y lista para su distribución ya que, siempre que se modifica de alguna manera el código de una macro firmada, se quita su firma digital. Sin embargo, si posee el certificado digital en su equipo, el proyecto de macro se firmará de nuevo automáticamente al guardarlo. Si desea impedir que los usuarios de su solución cambien automáticamente su proyecto de macro e invaliden así su firma, bloquee el proyecto de macro antes de firmarlo. Su firma digital sólo indica que garantiza que este proyecto es seguro. No demuestra que es el autor del proyecto. Por tanto, bloqueando su proyecto de macro no se impide que otro usuario reemplace la firma digital por otra firma. Los administradores corporativos deben volver a firmar las plantillas y los complementos para poder controlar con exactitud lo que los usuarios ejecutan en sus equipos. Si crea un complemento que agrega código a un proyecto de macro, el código debe determinar si el proyecto está firmado digitalmente e informar al usuario de las consecuencias que puede tener cambiar un proyecto firmado. Obtener un certificado digital para firmar Puede obtener un certificado digital de una entidad emisora de certificados (entidad emisora de certificados: organización comercial que emite certificados digitales, realiza un seguimiento de quién está asignado a un certificado, firma los certificados para verificar su validez y controla qué certificados están revocados o han caducado.) comercial o del administrador de seguridad o de un profesional de las tecnologías de la información de su organización. Para obtener más información sobre las autoridades emisoras de certificados que ofrecen servicios para los productos de Microsoft, puede ver la lista de miembros del programa Microsoft Root Certificate. Crear su propio certificado digital para realizar firmas personales También puede crear su propio certificado para emitir firmas digitales utilizando la herramienta Selfcert.exe. NOTA Puesto que los certificados digitales que cree personalmente no están emitidos por una autoridad emisora de certificados reconocida, los proyectos de macro firmados utilizando un certificado de este tipo se conocen como proyectos con firma personal. Microsoft Office sólo confía en los certificados de firma personal en los equipos que tengan almacenado ese certificado en el almacén de Certificados personales. - 17 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Habilitar o deshabilitar documentos de Office macros en En este artículo es sobre la seguridad de las macros, se explican los riesgos que implica habilitar macros y cómo el Centro de confianza de 2007 Microsoft Office system puede ayudar a mitigarlos. En este artículo, el término "documento" puede significar cualquier archivo de Microsoft Office que pueda contener macros. El término "macro" significa una macro creada mediante Visual Basic para Aplicaciones (VBA) (Visual Basic para Aplicaciones (VBA): versión del lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones basadas en Microsoft Windows y que se incluye en varios programas de Microsoft.). ¿Qué es una macro y cuáles son los riesgos de seguridad? El propósito de una macro es automatizar tareas de uso frecuente. Aunque algunas macros son simplemente la grabación de las pulsaciones de tecla o los clic del mouse (ratón), los programadores escriben macros de VBA (Visual Basic para Aplicaciones (VBA): versión del lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones basadas en Microsoft Windows y que se incluye en varios programas de Microsoft.) más eficaces que utilizan código que puede ejecutar muchos comandos en el equipo. Por esta razón, las macros de VBA suponen un riesgo para la seguridad. Un pirata informático puede pasar una macro malintencionada en un documento que, si se abre, permite que se ejecute la macro y puede propagar un virus (virus: programa o macro que "infecta" archivos de un equipo mediante la inserción de copias de sí mismo en ellos. Cuando el archivo infectado se carga en memoria, el virus puede infectar a otros archivos. Los virus suelen tener efectos secundarios muy dañinos.) en el equipo. ¿Cómo puede protegerme el Centro de confianza de macros no seguras? Antes de permitir que una macro se habilite en un documento, el Centro de confianza comprueba lo siguiente: La macro está firmada por el programador con una firma digital (firma digital: sello electrónico seguro con cifrado que certifica la autenticidad de una macro o documento. Esta firma confirma que la macro o documento emitido por el equipo o la persona que lo firma no ha sido alterado.). La firma digital es válida (válido: se refiere al estado de un certificado comprobado en la base de datos de una autoridad de certificación y del que se sabe que es legítimo, está vigente y no ha caducado ni se ha revocado. Los documentos firmados con un certificado válido y no modificado desde su firma se consideran como válidos.). Esta firma digital está actualizada (no ha caducado). El certificado asociado a la firma digital fue emitido por una entidad emisora de certificados (entidad emisora de certificados: organización comercial que emite certificados digitales, realiza un seguimiento de quién está asignado a un certificado, firma los certificados para verificar su validez y controla qué certificados están revocados o han caducado.) acreditada. El programador que firmó la macro es un editor de confianza (editor de confianza: programador de una macro en la que confía para usarla en su propio equipo. Los editores de confianza se identifican mediante el certificado que utilizaron para firmar digitalmente la macro. También se conocen como fuentes de confianza.). Si el Centro de confianza detecta un problema relacionado con estas comprobaciones, la macro se deshabilita de forma predeterminada y aparece la barra de mensajes para notificarle de que hay una macro que puede no ser segura. - 18 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Si hace clic en Opciones en la barra de mensajes, aparece un cuadro de diálogo de seguridad que permite habilitar la macro. Vea la siguiente sección para saber cómo tomar una decisión segura antes de hacer clic en una opción. NOTA En Microsoft Office Outlook 2007 y en Microsoft Office Publisher 2007, las alertas de seguridad aparecen en cuadros de diálogo, no en la barra de mensajes. ¿Qué debo hacer cuando una advertencia de seguridad pregunte si deseo habilitar o deshabilitar una macro? Cuando aparece un cuadro de diálogo de seguridad, tiene la opción de habilitar la macro o dejarla deshabilitada. Sólo debe habilitarla si sabe con certeza que procede de una fuente de confianza. IMPORTANTE Si sabe que el documento y la macro proceden de una fuente de confianza, tienen una firma válida y no desea volver a recibir notificaciones sobre ellos, en lugar de cambiar la configuración del Centro de confianza a una configuración de seguridad de macros menos segura, puede hacer clic en la opción Confiar en todos los documentos de este editor del cuadro de diálogo de seguridad. De esta forma, se agrega el editor a la lista Editores de confianza del Centro de confianza. Todo el software procedente de ese editor es de confianza. Si la macro no tiene ninguna firma válida, pero confía en ella y no desea volver a recibir notificaciones, en lugar de cambiar la configuración predeterminada del Centro de confianza a una configuración de seguridad de macros menos segura, es mejor mover el documento a una ubicación de confianza. Los documentos de ubicaciones de confianza se pueden ejecutar sin la comprobación del sistema de seguridad del Centro de confianza. - 19 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 En función de la situación, el cuadro de diálogo de seguridad describe el problema específico. La tabla siguiente muestra la lista de los posibles problemas y da consejos sobre lo que se debe hacer en cada caso. Problema Consejo La macro no está firmada Dado que la macro no está firmada digitalmente, no se puede comprobar la identidad del editor de macros. Por lo tanto, no es posible determinar si la macro es segura o no. Antes de habilitar macros sin firmar, asegúrese de que la macro procede de una fuente de confianza. Puede continuar trabajando en el documento aunque no habilite la macro. La firma de la macro no es de confianza Puede que la macro no sea segura, ya que se ha firmado digitalmente, la firma es válida y se ha elegido no confiar en el editor que la firmó. Puede confiar (confianza: indica si se confía en el individuo o grupo a quién se le ha emitido el certificado. La configuración predeterminada es Heredar la confianza del emisor, lo que significa que se confía en el certificado porque se confía en el emisor, normalmente una entidad emisora de certificados.) explícitamente en el editor de la macro haciendo clic en la opción Confiar en todos los documentos de este editor en el cuadro de diálogo de seguridad. Esta opción solamente aparece si la firma es válida. Al hacer clic en esta opción se agrega el editor a la lista Editores de confianza del Centro de confianza. La firma de la macro no es válida Puede que la macro no sea segura, porque se ha firmado digitalmente y la firma no es válida. Se recomienda que no habilite macros con firmas no válidas. Una posible razón para que la firma no sea válida es que se haya manipulado. Para obtener más información, vea Cómo saber si una firma digital es de confianza. La firma de la macro ha caducado Puede que la macro no sea segura, porque se ha firmado digitalmente y la firma ha caducado. Antes de habilitar macros con firmas caducadas, asegúrese de que la macro procede de una fuente de confianza. Si ha usado este documento en el pasado sin problemas de seguridad, el riesgo que supone habilitar la macro puede ser menor. - 20 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 Cambiar la configuración de seguridad de las macros de todos los documentos en el Centro de confianza La configuración de seguridad de las macros se encuentra en el Centro de confianza. Sin embargo, si trabaja en una organización, es posible que el administrador del sistema haya cambiado la configuración predeterminada; por tanto, quizá no pueda hacer cambios en ella. NOTA Al cambiar la configuración de la macro en el Centro de confianza, sólo cambia para el programa de Office que esté utilizando. La configuración de la macro no cambia para todos los programas de Office. Siga estos pasos en estos programas de 2007 Microsoft Office system: Word, Excel, PowerPoint o Access 1.Haga clic en el botón de Microsoft Office y, a continuación, en Opciones de Nombre del programa, donde Nombre de programa es el nombre del programa que está utilizando, por ejemplo, Opciones de Word. 2.Haga clic en Centro de confianza, en Configuración del Centro de confianza y, a continuación, en Configuración de ActiveX. 3.Haga clic en las opciones que desee: Deshabilitar todas las macros sin notificación Haga clic en esta opción si no confía en las macros. Todas las macros y alertas de seguridad de los documentos se deshabilitan. Si hay documentos con macros sin firmar en las que sí confíe, puede poner estos documentos en una ubicación de confianza. Los documentos de ubicaciones de confianza se pueden ejecutar sin la comprobación del sistema de seguridad del Centro de confianza. Deshabilitar todas las macros con notificación Esta es la configuración predeterminada. Haga clic en esta opción si desea deshabilitar las macros, pero desea recibir alertas de seguridad si hay macros presentes. De este modo, puede elegir cuándo habilitar esas macros caso por caso. Deshabilitar todas las macros excepto las firmadas digitalmente Esta configuración es igual que Deshabilitar todas las macros con notificación excepto en que si la macro está firmada digitalmente por un editor de confianza, puede ejecutarse si ya se ha confiado en el editor. De lo contrario, se le notifica. De este modo, puede decidir habilitar esas macros firmadas o confiar en el editor. Todas las macros sin firmar se deshabilitan sin notificación. Habilitar todas las macros (no recomendado, puede ejecutarse código posiblemente peligroso) Haga clic en esta opción para permitir que se ejecuten todas las macros. Esta configuración hace que el equipo sea vulnerable a código posiblemente malintencionado y no se recomienda. Confiar en el acceso al modelo de objeto de proyectos de VBA Esta configuración es sólo para programadores. SUGERENCIA En Word, Excel y PowerPoint, puede abrir el cuadro de diálogo de configuración de seguridad de macros desde la ficha Programador en la cinta de opciones. Si la ficha Programador no está disponible, haga clic en el botón de Microsoft Office y, a continuación, haga clic en Opciones de Nombre del programa, donde Nombre de programa es el nombre del programa que está utilizando, por ejemplo, Opciones de Word. Haga clic en Más frecuentes y, a continuación, active la casilla de verificación Mostrar ficha Programador en la cinta de opciones. Visio o Publisher 1.En el menú Herramientas, haga clic en Centro de confianza. 2.Haga clic en Configuración de macros. 3.Haga clic en las opciones que desee: Deshabilitar todas las macros sin notificación Haga clic en esta opción si no confía en las macros. Todas las macros y alertas de seguridad de los documentos se - 21 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM Macros en Excel 2007 deshabilitan. Si hay documentos con macros sin firmar en las que sí confíe, puede poner estos documentos en una ubicación de confianza. Los documentos de ubicaciones de confianza se pueden ejecutar sin la comprobación del sistema de seguridad del Centro de confianza. Deshabilitar todas las macros con notificación Esta es la configuración predeterminada. Haga clic en esta opción si desea deshabilitar las macros, pero desea recibir alertas de seguridad si hay macros presentes. De este modo, puede elegir cuándo habilitar esas macros caso por caso. Deshabilitar todas las macros excepto las firmadas digitalmente Esta configuración es igual que Deshabilitar todas las macros con notificación excepto en que si la macro está firmada digitalmente por un editor de confianza, puede ejecutarse si ya se ha confiado en el editor. De lo contrario, se le notifica. De este modo, puede decidir habilitar esas macros firmadas o confiar en el editor. Todas las macros sin firmar se deshabilitan sin notificación. Habilitar todas las macros (no recomendado, puede ejecutarse código posiblemente peligroso) Haga clic en esta opción para permitir que se ejecuten todas las macros. Esta configuración hace que el equipo sea vulnerable a código posiblemente malintencionado y no se recomienda. Confiar en el acceso al modelo de objeto de proyectos de VBA Esta configuración es sólo para programadores. Outlook 1. En el menú Herramientas, haga clic en Centro de confianza. 2. Haga clic en Configuración de macros. 3. Haga clic en las opciones que desee: Ninguna advertencia y desactivar todas las macros Haga clic en esta opción si no confía en las macros. Todas las macros y alertas de seguridad de los documentos se deshabilitan. Advertencias para todas las macros Esta es la configuración predeterminada. Haga clic en esta opción si desea deshabilitar las macros, pero desea recibir alertas de seguridad si hay macros presentes. De este modo, puede elegir cuándo habilitar esas macros caso por caso. Advertencias para macros firmadas, deshabilitar todas las macros no firmadas Esta configuración es igual que Deshabilitar todas las macros con notificación excepto en que si la macro está firmada digitalmente por un editor de confianza, puede ejecutarse si ya se ha confiado en el editor. De lo contrario, se le notifica. De este modo, puede decidir habilitar esas macros firmadas o confiar en el editor. Todas las macros sin firmar se deshabilitan sin notificación. Ninguna comprobación de seguridad para las macros (No recomendado) Haga clic en esta opción para permitir que se ejecuten todas las macros. Esta configuración hace que el equipo sea vulnerable a código posiblemente malintencionado y no se recomienda. - 22 – Compilado por Guillermo Cruz A. – Proyecto OID0013 – Convenio 114 MPS-OIM