TÉCNICO EN SISTEMAS LABORAL SUBMODULO TEMA
1 (Visual Basic for Application) Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de Microsoft Office. Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel, Access y Powerpoint. Prácticamente cualquier cosa que se pueda programar en Visual Basic se puede hacer también dentro de un documento de Word, una hoja de cálculo de Excel, una base de datos de Access y una presentación de Powerpoint, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja de cálculo, base de datos o presentación en la que fue creado; es decir, se convierte en una macro. Esta macro puede instalarse o distribuirse con sólo copiar el documento, hoja de cálculo, presentación o base de datos. Una macro se puede utilizar para: Insertar textos: En caso de que existan textos que se deban ingresar repetidamente como el nombre de la empresa, números telefónicos, direcciones, etc. Automatizar tareas que se hagan con frecuencia. Desarrollar funciones propias (funciones como SUM, PROM, etc., y otras tareas) Crear aplicaciones con formularios, botones y otros objetos Realizar cálculos complejos. Validar datos. Para entender mejor el concepto de macros y la manera cómo opera el lenguaje de programación Visual Basic for Application, es necesario estudiar un poco acerca de la teoría relacionada con la programación orientada a objetos: Objeto: Un objeto es una entidad que tiene asociado un conjunto de métodos, eventos y propiedades. Las propiedades se pueden considerar como atributos de un objeto, los métodos como sus acciones y los eventos como sus respuestas. Por ejemplo: el objeto Globo. Propiedades: Son los atributos de un objeto, entre las propiedades de un globo se incluyen atributos visibles como la altura, el diámetro y el color, otras propiedades describen su estado (inflado o desinflado) o tributos que no son visibles, como su edad. Por definición, todos los globos tienen estas propiedades; lo que varía de un globo a otro son los valores de estas propiedades. Método: Los métodos son funciones internas de un determinado objeto que permite realizar funciones sobre él o sobre otro objeto. Se le conoce com aquello que el objeto puede hacer. En el ejemplo del globo los métodos que podemos encontrar son Desinflar y Hacer Ruido, recordemos el método es aquello que el objeto globo puede hacer.
Evento: Un evento es una acción que sucede en un objeto, decimos también que es un proceso que ocurre en un momento no determinado causando una respuesta por parte de un objeto. Los objetos están atentos a cualquier evento que ocurra en u entorno o dentro de ellos mismos. Un programa Visual Basic es un POE (Programa orientado a eventos). Con el ejemplo del globo, un evento puede ser estallar el globo, ponerlo a flotar. 1.1 VARIABLES DE ALMACENAMIENTO En la programación se hace necesario almacenar la información que el usuario digita y la que se obtiene a través de operaciones matemáticas. El lugar donde se almacena esta información se denomina: Variable. Una variable es un espacio lógico en la memoria del computador (memoria RAM) en el cual se guarda un dato. Toda variable debe tener un nombre nemotécnico, ojalá corto (de pocos caracteres) y debe tener identificado en tipo de datos que almacenará: números, caracteres alfanuméricos, fechas, entre otros. La siguiente tabla muestra los tipos de datos que pueden almacenar las variables, incluyendo el tamaño de almacenamiento en memoria y el intervalo en el cual pueden variar. Tipo de datos Tamaño de almacenamiento Byte Entero de un byte 0 a 255 Bolean Lógico de dos bytes True o False Integer Entero de dos bytes -32,768 a 32,767 Long (entero largo) Single (coma flotante/ precisión simple) Double (coma flotante/ precisión doble) Currency (entero a escala) Intervalo Entero largo de 4 bytes -2,147,483,648 a 2,147,483,647 Decimal de 4 bytes -3,402823E38 a 1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos Decimal de 8 bytes -1.79769313486231E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos Entero de 8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807 Decimal Números reales con +/- decimales hasta de 28 79.228.162.514.264.337.593.543.950.335 dígitos (14 bytes) sin punto decimal; +/-7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal; el número más pequeño distinto de cero es +/-0,0000000000000000000000000001 Date Usado para fechas de 8 bytes 1 de enero de 100 a 31 de diciembre de 9999 Object 4 bytes Cualquier referencia a tipo Object String (longitud variable) Usado para datos de texto de 10 bytes Desde 1 a 65.400 aproximadamente
Para definir las variables en VBA se utiliza las sentencias DIM, Public o Static de la siguiente forma: Dim nombre, telefono As String Dim edad As Integer Dim salario As Doble En el primer ejemplo definimos la variable nombre y la variable teléfono que almacenarán información alfanumérica, o sea, letras; letras y números; letras, números y caracteres especiales o sólo números pero con los cuales no se vayan a hacer operaciones matemáticas. En el segundo caso definimos una variable llamada edad, la cual almacenará sólo números y caracteres de número como punto, coma, signo negativo. Por ser Integer, almacenará un número entre -32,768 y 32,767. En el tercer ejemplo definimos una variable llamada salario, la cual almacenará números enteros con decimales. La cifra puede ser grande Las variables pueden ser: Locales: Son aquellas que se declaran o definen dentro de un módulo o procedimiento y sólo pueden ser utilizadas dentro de éste. Se hace a través de la sentencia Dim Públicas: son variables que se requieren disponibles para todos los procedimientos de todos los módulos. Se de utilizar la sentencia Public (en vez de Dim). Las variables públicas se deben definir antes del primer procedimiento de un submódulo. Estáticas: Si se desea que una variable definida en un procedimiento conserve su valor una vez terminado éste, e ingresado a otro procedimiento, ésta se debe definir a través de la sentencia Static 1.2 ENTORNO DEL PROGRAMADOR Para realizar macros utilizando el código VBA se requiere utilizar el entorno de trabajo del código VBA, para activarlo se realiza lo siguiente: a) Ficha Desarrollador b) Clic en el icono Visual Basic del grupo Código c) Se activa la ventana de Microsoft Visual Basic para Aplicaciones, la cual se divide en las siguientes partes:
Todo lo que se puede hacer en el editor, está relacionada con programas. La filosofía de programación usada en este editor, es el de la Programación Orientada a Objetos (POO), la cual permite hacer modificaciones sobre la programación de una macro y crear sus propios programas. Un programa es, en principio, una secuencia de pasos o instrucciones que se escriben de manera lógica para resolver un problema en particular. En un lenguaje de programación orientada a objetos, las instrucciones se basan en variables, constantes, objetos, propiedades de los objetos, etc., pertenecientes a un ámbito, a un entorno. Todos estos elementos, sean sus componentes o características, como sus relaciones entre otros objetos, están agrupados o "encapsulados" en los objetos. Los objetos en Excel están constituidos por Celdas, Rangos, Hojas, Libros, Gráficos, Tablas, archivos externos, etc. Los objetos, refiriéndonos a Excel, poseen cuatro características empleados en
la codificación de un programa: propiedades de los objetos, métodos para manipularlos, eventos que causan la manipulación de los mismos y, colecciones o Clases a las que pertenecen los objetos. 1.3 CREACIÓN DE MÓDULOS Un módulo permite agrupar procedimientos y funciones. El procedimiento y la función son entidades de programación que sirven para agrupar instrucciones de código que realizan una acción concreta. Para insertar un módulo realice alguna de las siguientes opciones: Forma 1: a) Menú Insertar b) Clic en la opción Módulo Forma 2: a) Clic derecho en el área blanca del explorador de proyectos b) Clic en insertar - Módulos Módulos del proyecto c) Al insertar el módulo se activa el área de edición que es donde se digitan las instrucciones del código VBA Por defecto el nombre el módulo será Módulo1 Para cambiar el nombre al módulo se debe hacer los siguiente:
Hacer clic sobre al nombre actual del módulo Sino esta activa la ventana de propiedades, hacer clic en el menú Ver seleccionar la opción Ventana de Propiedades En la ventana de propiedades, al frente de la propiedad Name digitar el nombre para el módulo (no usar espacios en blanco) Cómo eliminar un módulo: 1. Estando en el editor de Visual Basic, presionar el clic derecho del mouse sobre el módulo que se va a eliminar 2. Del menú que aparece seleccionar la opción Quitar módulo.