entendiendo las macros en excel 2010

12
EXCEL AVANZADO – Macros I Página 1 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected] ENTENDIENDO LAS MACROS en Excel 2010 Como se ha dicho en clase, una razón fundamental de usar Excel es facilitar las tareas repetitivas que realizamos con los datos: consultas, reportes, filtros, gráficos, etc. Podemos decir que las macros nos ayudan a automatizar tareas. Son partes de código de programación que es interpretado por Excel y lleva a cabo distintas acciones o una sucesión de tareas. De esa manera, con una macro podremos realizar tareas repetitivas muy fácilmente. Sin embargo, éste no es el único uso que podemos darle a una macro ya que, si utilizamos el lenguaje de programación en el que hablan las macros, Visual Basic para Aplicaciones (VBA), podremos desarrollar desde tareas y funciones simples para usos específicos hasta aplicaciones complejas. ¿CUÁL ES EL RIESGO PARA LA SEGURIDAD? Las macros automatizan tareas usadas frecuentemente para ahorrar tiempo de pulsaciones de tecla y acciones del mouse. Muchas se crearon por programadores de software. Sin embargo, algunas macros pueden implicar un posible riesgo de seguridad. Una persona malintencionada, también conocida como pirata informático, puede introducir una macro destructiva en un archivo que puede propagar un virus en su equipo o en la red de su organización. VBA Visual Basic es uno de los lenguajes más utilizados para desarrollar aplicaciones de computadora. Una de sus versiones es el lenguaje de programación de las macros: Visual Basic para Aplicaciones (VBA). Es un lenguaje de programación común y corriente pero con algunas particularidades. Su Entorno de Desarrollo (IDE) está plenamente integrado con las aplicaciones de Microsoft Office. Las aplicaciones que creamos con este lenguaje no pueden ejecutarse en forma autónoma, es decir, siempre formarán parte de algún documento o alguna plantilla de Office. INTERACCIÓN CON EL RESTO DE MS-OFFICE Con VBA podremos integrar más aún las distintas aplicaciones de Microsoft Office. Con una macro de Excel 2010 podremos comunicarnos con el resto de las aplicaciones de este paquete de oficina muy fácilmente: Word, PowerPoint, Access. Toda esta interacción y los conocimientos sobre el manejo de estas herramientas nos permitirán construir aplicaciones de alta complejidad en poco tiempo. EL FORMATO DE LOS ARCHIVOS Excel 2010 tiene una forma diferente de guardar los libros, pues en esta versión hay una diferenciación entre los archivos normales y aquellos que incluyen macros de Visual Basic para Aplicaciones o controles ActiveX. De esta forma, la extensión del archivo permite determinar el tipo de contenido del libro Excel. Este cambio se genera, principalmente, por una cuestión de seguridad, para que podamos identificar los archivos antes de abrirlos. OPCIÓN Archivo>Guardar como Las distintas formas que tiene Excel 2010 para guardar las plantillas son:

Upload: oscar-alberto-barnett-contreras

Post on 19-Jan-2016

42 views

Category:

Documents


3 download

TRANSCRIPT

EXCEL AVANZADO – Macros I Página 1 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

ENTENDIENDO LAS MACROS en Excel 2010 Como se ha dicho en clase, una razón fundamental de usar Excel es facilitar las tareas repetitivas

que realizamos con los datos: consultas, reportes, filtros, gráficos, etc.

Podemos decir que las macros nos ayudan a automatizar tareas. Son partes de código de

programación que es interpretado por Excel y lleva a cabo distintas acciones o una sucesión de

tareas. De esa manera, con una macro podremos realizar tareas repetitivas muy fácilmente. Sin embargo, éste no es el único uso que podemos darle a una macro ya que, si utilizamos el lenguaje de programación en el que hablan las macros, Visual Basic para Aplicaciones (VBA), podremos desarrollar desde tareas y funciones simples para usos específicos hasta aplicaciones complejas.

¿CUÁL ES EL RIESGO PARA LA SEGURIDAD?

Las macros automatizan tareas usadas frecuentemente para ahorrar tiempo de pulsaciones de

tecla y acciones del mouse. Muchas se crearon por programadores de software. Sin embargo,

algunas macros pueden implicar un posible riesgo de seguridad. Una persona malintencionada,

también conocida como pirata informático, puede introducir una macro destructiva en un archivo

que puede propagar un virus en su equipo o en la red de su organización.

VBA

Visual Basic es uno de los lenguajes más utilizados para desarrollar aplicaciones de computadora. Una de sus versiones es el lenguaje de programación de las macros: Visual Basic para Aplicaciones (VBA). Es un lenguaje de programación común y corriente pero con algunas particularidades. Su Entorno de Desarrollo (IDE) está plenamente integrado con las aplicaciones de Microsoft Office. Las aplicaciones que creamos con este lenguaje no pueden ejecutarse en forma autónoma, es decir, siempre formarán parte de algún documento o alguna plantilla de Office.

INTERACCIÓN CON EL RESTO DE MS-OFFICE Con VBA podremos integrar más aún las distintas aplicaciones de Microsoft Office. Con una macro de Excel 2010 podremos comunicarnos con el resto de las aplicaciones de este paquete de oficina muy fácilmente: Word, PowerPoint, Access. Toda esta interacción y los conocimientos sobre el manejo de estas herramientas nos permitirán construir aplicaciones de alta complejidad en poco tiempo.

EL FORMATO DE LOS ARCHIVOS Excel 2010 tiene una forma diferente de guardar los libros, pues en esta versión hay una diferenciación entre los archivos normales y aquellos que incluyen macros de Visual Basic para Aplicaciones o controles ActiveX. De esta forma, la extensión del archivo permite determinar el tipo de contenido del libro Excel. Este cambio se genera, principalmente, por una cuestión de seguridad, para que podamos identificar los archivos antes de abrirlos.

OPCIÓN Archivo>Guardar como

Las distintas formas que tiene Excel 2010 para guardar las plantillas son:

EXCEL AVANZADO – Macros I Página 2 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Libro de Excel: es el formato predeterminado de archivo, tiene extensión .XLSX. Estos archivos no pueden contener macros de Visual Basic para Aplicaciones ni controles ActiveX. Libro de Excel habilitado para macros: es el formato que se debe usar para guardar los archivos que posean macros o controles ActiveX, la extensión será .XLSM. Al guardar un archivo que tenga este tipo de datos, Excel 2010 nos advertirá que posee macros y que debemos grabarlo con esta extensión particular. Si se omite esta advertencia, el libro se guardará con la extensión predeterminada y se eliminará todo código de macro o control ActiveX incluido. Libro binario de Excel: guarda los archivos en el formato binario de Microsoft Excel 2010 (BIFF12), cuya extensión es .XLSB. Libro de Excel 97-2003: este formato es para guardar un archivo creado con Excel 2010 y mantener la compatibilidad con las versiones anteriores del programa. En este formato podremos guardar nuestros archivos que incluyan VBA y se perderán los cambios de las opciones que presenta Excel 2010 que no estén incluidas en las versiones anteriores.

EXCEL AVANZADO – Macros I Página 3 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

PDF o XPS…: es un formato de diseño fijo que garantiza que, cuando se vea o se imprima el documento, se conserve exactamente el formato deseado. Otros formatos: también podremos guardar el libro como un archivo de texto, una plantilla de Excel o una página web, por ejemplo. En ninguno de estos casos es posible incluir macros.

Para poder guardar los archivos con las extensiones correctas, se debe acceder al comando Guardar como incluido dentro el Menú Archivo o pulsar la tecla de F12 del teclado.

ACTIVACIÓN DE LA FICHA “Programador”

En la cinta de opciones se encuentran las diferentes fichas con herramientas para explotar Excel

2010. Entre ellas, existe una ficha de opciones específica para interactuar con VBA: la ficha

“Programador”. Esta ficha es especial y no se encuentra disponible dentro de la instalación básica,

por lo que se debe configurar la interface para poder utilizarla. Para activar la ficha Programador se debe pulsar el ítem Menú Archivo>Opciones. En el diálogo que aparecerá, se debe seleccionar el ítem Personalizar la cinta de opciones, y habilitar la casilla Programador en el cuadro de lista Fichas principales, finalmente se debe pulsar el botón Aceptar.

EXCEL AVANZADO – Macros I Página 4 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

ARCHIVOS SIN MACROS PERO CON EXTENSIÓN .XLSM Aunque nuestra planilla no contenga código Visual Basic para Aplicaciones (VBA) o controles ActiveX, podremos guardarla con la extensión .XLSM sin ningún inconveniente, aunque no sucede lo mismo en forma inversa. De esta forma, podremos prever archivos que en un futuro contengan macros si tener que cambiar su extensión a posteriori.

Con la ficha Programador se puede acceder a funciones específicas, que se encuentran clasificadas en cinco grupos: Código, Complementos, Controles, XML y Modificar

GRUPO Código En este grupo se encuentran los comandos que accionan herramientas relacionadas con el código VBA de las macros.

Grupo Código: Visual Basic El primer botón (Visual Basic), iniciará el editor de código VBA. Este editor es la herramienta principal para la elaboración de macros complejas, dado que permite realizar modificaciones al código de las macros en una ventana especial con un formato similar a los lenguajes de programación. También se puede iniciar pulsando el atajo de teclas ALT + F11.

EXCEL AVANZADO – Macros I Página 5 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Grupo Código: Grabar macros Desde este botón se iniciará la grabadora de macros. Esta herramienta guarda todas las acciones que realizamos y las transforma en código VBA.

Grupo Código: Macros

El botón Macros inicia la ventana mediante la cual podremos ejecutar las macros. Esta ventana mostrará las macros incluidas en los distintos libros abiertos o particularmente en alguno de los que se encuentren abiertos. Aquí también se encuentran las opciones más sencillas para administrar las macros:

EXCEL AVANZADO – Macros I Página 6 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Ejecutar: ejecuta la macro seleccionada en el cuadro de lista. Paso a paso: iniciará el editor de Visual Basic en forma automática y se ejecutará la macro seleccionada instrucción por instrucción. Esto es útil para analizar el correcto funcionamiento de una macro y solucionar posibles problemas. Modificar: con este botón también se puede iniciar el editor de VBA para realizar cambios en las macros. Crear: con este botón se puede crear una nueva macro empleando como nombre el texto digitado en la casilla “Nombre de la macro”.

Eliminar: elimina directamente la macro seleccionada.

Opciones: para establecer un atajo de tecla para la macro y para establecer una descripción. Si a

una macro se le agrega un atajo de teclado predeterminado, a partir de ese momento, y cuando

se tenga abierto el libro que incluye esa macro, al utilizar este atajo de teclado se ejecutará la

macro y se reemplazará la instrucción predeterminada de Excel. Esto volverá a su punto inicial

cuando modifiquemos el atajo de teclado o eliminemos la macro.

ANCHO DE COLUMNAS POR DEFECTO Dentro de las propiedades de cada hoja, que podemos modificar con la opción Propiedades incluida en el grupo Controles de la ficha Programador (también es posible realizarlo mediante el Editor de Visual Basic), encontraremos la opción StandardWidth, que sirve para cambiar el ancho de las columnas definido por defecto por Excel 2010.

MÉTODOS ABREVIADOS La mayoría de los atajos de teclado predeterminados de Excel 2010 son la combinación de las teclas CTRL o ALT y alguna adicional. Al asignarle un método abreviado a una macro podemos evitar reemplazar un atajo ya existente si a la combinación le adicionamos la tecla MAYÚS. De esta forma, los métodos abreviados de las macros podrían ser CTRL + MAYÚS + el carácter válido que elijamos.

Grupo Código: Usar referencias relativas En una macro, las referencias indican desde dónde y a qué lugar debemos movernos. En este sentido, dentro del grupo Código se encuentra un botón que permite alternar entre usar o no usar referencias relativas. Se puede decir que las referencias fijas son inamovibles e indican una determinada coordenada (celda) o un grupo de ellas dentro de la hoja de cálculo. Por el contrario, las referencias relativas realizan, a partir de la ubicación de la celda actual, los movimientos indicados en la macro. Ejemplo 1.- Referencias de Macros

EXCEL AVANZADO – Macros I Página 7 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Ejemplo 2.- Referencias de Macros

OTRA FORMA DE SALIR DEL EDITOR DE VBA Para salir del Editor de VBA, podremos utilizar el atajo ALT + Q, que nos llevará de vuelta a la hoja de Excel que se estaba trabajando.

Grupo Código: Seguridad de macros Con este botón se accede a la configuración de las opciones de seguridad relacionadas con las macros.

GRUPO: Controles Los controles pueden ser algo tan simple como un cuadro de texto o un botón, o algo más complejo como una aplicación. Estos controles podrán ser incrustados dentro de las plantillas o directamente en formularios específicos. De esta forma, se relaciona las celdas de la plantilla, el código VBA y los controles ActiveX.

Grupo Controles: Insertar Con el botón Insertar se puede incluir los diferentes controles que nos proporciona Microsoft Excel 2010 por defecto.

EXCEL AVANZADO – Macros I Página 8 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Los controles de formulario son los botones, los cuadros de texto, las etiquetas, los botones de opción, los cuadros combinados, etcétera. Los controles ActiveX se utilizan en sitios web y en las aplicaciones del equipo, pero no son soluciones autónomas sino que sólo pueden ejecutarse desde el interior de los programas que los hospedan, como Windows Internet Explorer y los programas de Microsoft Office.

Grupo Controles: Modo Diseño Al incluir controles, tanto de formulario como ActiveX, en nuestras hojas, éstos quedarán activos, es decir, cuando los presionemos se ejecutará la tarea deseada y por lo tanto no se podrán modificar. Si se pulsa el botón Modo Diseño, los controles ActiveX incluidos ya no se ejecutarán directamente y se podrá ajustar sus opciones. Para salir de este modo, de debe pulsar el botón de nuevo.

Grupo Controles: Propiedades Desde aquí podremos modificar las diferentes opciones referidas a los controles ActiveX incrustados. Este grupo de propiedades será diferente, dependiendo del tipo de control que tengamos seleccionado. Son muy variadas las opciones que se pueden modificar y éstas pueden estar ordenadas alfabéticamente u organizadas por categorías.

EXCEL AVANZADO – Macros I Página 9 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Otra manera de acceder a las propiedades de un control es seleccionarlo, si está en Modo Diseño,

es presionar el botón derecho del mouse y seleccionar la opción Propiedades del menú que se

abre. Se encontrará dos modos de visualizar las propiedades: Alfabética y Por categorías en la que,

un grupo de propiedades que ajustan la apariencia y la fuente del control, otro grupo que modifica su comportamiento y una categoría denominada Varias, que incluye opciones diversas.

Grupo Controles: Ver código Con esta instrucción se abrirá el editor VBA y nos mostrará el código correspondiente al control elegido. Este botón también se podrá ejecutar si se selecciona (con Modo Diseño activado) un control ActiveX y se elige la opción Ver código dentro de la lista desplegable que aparece al presionar el botón derecho del mouse.

Grupo Controles: Ejecutar cuadro de diálogo Permite ejecutar un cuadro de diálogo personalizado. Estos cuadros son similares a los formularios de VBA, pero son parte del núcleo de Excel (no VBA). Es posible visualizar este tipo de cuadros mediante instrucciones VBA.

GRUPO: XML XML (sigla en inglés de eXtensible Markup Language), es un estándar para definir la estructura, el significado y la apariencia de la información de un documento. Los documentos XML contienen etiquetas que definen estas características. Dado que estas etiquetas definen la estructura y el significado de los datos, se pueden volver a utilizar de muchas maneras. Así, es posible utilizar un sistema para generar los datos marcados con etiquetas XML y después procesarlos en otros sistemas. Se puede decir que la utilización en Excel 2010, (y del paquete Microsoft Office 2010), de este lenguaje amplía las conexiones que se puede realizar con otros sistemas y la forma de administrar los datos. Este grupo de herramientas incluye diferentes opciones relacionadas con XML.

EXCEL AVANZADO – Macros I Página 10 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

LA SEGURIDAD: CENTRO DE CONFIANZA

Si se pulsa el botón denominado Seguridad de macros, que se incluye dentro del grupo Código en la ficha Programador, se accede a la configuración del Centro de confianza de Excel 2010. En él se puede configurar las características de seguridad y privacidad de Excel 2010. En el Centro de confianza se encuentran distintos grupos de opciones:

NOMBRES DE RANGOS Cuando se definen nombres para rangos, éstos se pueden insertar dentro de funciones o expresiones que incluyamos en nuestras hojas de trabajo. Además de esto, se les puede utilizar dentro de Macros, lo que nos resultará de mucha utilidad cuando se realice trabajos que sean más complejos.

Editores y ubicaciones de confianza Un editor es un programador que ha creado una macro, un control ActiveX, un complemento u otra extensión de aplicación para uso de todos los usuarios. Estos editores son programadores que deben acreditarse con credenciales válidas. Para esto, el proyecto de código debe estar firmado digitalmente (sello electrónico seguro con cifrado que certifica la autenticidad de una macro o un documento). Esta firma debe ser válida y estar actualizada (no caducada). De esta forma, si se ejecuta un código que no cumpla con estos criterios, el Centro de confianza deshabilitará el código en forma automática y aparecerá un mensaje de aviso. Cuando aparezca un cuadro de diálogo de seguridad, tendremos la opción de dejar la macro deshabilitada, habilitarla o confiar en el editor. Para esto hacemos clic en la opción Confiar en todos los documentos de este editor.

EXCEL AVANZADO – Macros I Página 11 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Por su parte, las Ubicaciones de confianza son sitios seguros en los que confiamos. Los códigos ejecutados desde estas ubicaciones no emitirán advertencias de seguridad.

Configuración de ActiveX Esta sección permite habilitar o deshabilitar la utilización de controles ActiveX. Podremos elegir entre deshabilitar o habilitar todos los controles, en una escala gradual:

Configuración de macros Para las macros que no se encuentren dentro de una ubicación de confianza, existen algunas opciones que nos permitirán deshabilitar las macros con o sin notificación, deshabilitar todas las macros con excepción de aquellas que se encuentren firmadas digitalmente o habilitar todas las macros. Ésta es la opción menos recomendada desde el punto de vista de la seguridad.

EXCEL AVANZADO – Macros I Página 12 de 12 Ing. Oscar Alberto Barnett Contreras – [email protected]

Opciones de privacidad

Desde el Centro de confianza también se puede modificar opciones relacionadas con conexiones

externas (Contenido externo, como Office.com) y las Opciones de privacidad.

*=*=*=*=*=*