• No se han encontrado resultados

Visual Basic Para Aplicaciones Excel

N/A
N/A
Protected

Academic year: 2021

Share "Visual Basic Para Aplicaciones Excel"

Copied!
349
0
0

Texto completo

(1)

VISUAL BASIC PARA APLICACIONES

EXCEL

De Wiki Soludevt

Saltar a navegación, buscar

Contenido

[ocultar]  1 Introducción  2 = Instrucciones de Asignación =  3 Instrucciones Ejecutables o 3.1 Banco de Preguntas  3.1.1 Pregunta 1  3.1.2 Pregunta 2  3.1.3 Pregunta 3  3.1.4 Pregunta 4  3.1.5 Pregunta 5  3.1.6 Pregunta 6  3.1.7 Pregunta 7  3.1.8 Pregunta 8  3.1.9 Pregunta 9  3.1.10 Pregunta 10  3.1.11 Pregunta 11

(2)

 3.1.12 Pregunta 13  3.1.13 Pregunta 14  3.1.14 Pregunta 15  3.1.15 Pregunta 16  3.1.16 Pregunta 17  3.1.17 Pregunta 18  3.1.18 Pregunta 19  3.1.19 Pregunta 20  3.1.20 Pregunta 21  3.1.21 Pregunta 22  3.1.22 Pregunta 23 o 3.2 Un objeto

 4 Elementos de un programa de Visual Basic

o 4.1 Los Elementos básicos de programación son los que se mencionan a continuacion:

 4.1.1 Sentencias de Control

 4.1.1.1 Estructura Secuencial  4.1.1.2 Estructuras Selectivas

 4.1.1.2.1 Selectiva Simple (If Then / End If)  4.1.1.2.2 Selectiva Doble (If Then / Else / End If)  4.1.1.2.3 Selectiva Múltiple (Select Case / Case else /

(3)

 4.1.1.3 Estructuras Repetitivas  4.1.2 Procedimientos

 4.1.3 Variables

 4.1.3.1 Tipos de Datos de las Variables  4.1.3.2 Declarar Variables

 4.1.3.3 Opction Explicit:

 4.1.3.4 Declarar una Variable de objeto para Automatización  4.1.3.5 Comprender la Vida de las Variables

 4.1.4 Constantes o 4.2 Matrices o 4.3 Operadores o 4.4 Banco de Preguntas  4.4.1 Pregunta 1  4.4.2 Pregunta 2  4.4.3 Pregunta 3  4.4.4 Pregunta 4  5 Procedimientos y Funciones  6 Procedimientos

o 6.1 Escribir un Procedimiento Sub o 6.2 Función

(4)

o 7.1 Crear Bucles mediante Código o 7.2 Banco de Preguntas o 7.3 Instrucciones IF...THEN...ELSE o 7.4 Banco de Preguntas  7.4.1 Pregunta 1  7.4.2 Pregunta 2  7.4.3 Pregunta 3  7.4.4 Pregunta 4  7.4.5 Pregunta 5  7.4.6 Pregunta 6  7.4.7 Pregunta 7  7.4.8 Pregunta 8  7.4.9 Pregunta 9  7.4.10 Pregunta 10  7.4.11 Pregunta 11  7.4.12 Pregunta 12  7.4.13 Pregunta 13  7.4.14 Pregunta 14  7.4.15 Pregunta 15  7.4.16 Pregunta 16  7.4.17 Pregunta 17

(5)

 7.4.18 Pregunta 18  7.4.19 Pregunta 19  7.4.20 Pregunta 21

o 7.5 Instrucciones SELECT CASE o 7.6 Banco de Preguntas  7.6.1 Pregunta 1  7.6.2 Pregunta 2  7.6.3 Pregunta 3  7.6.4 Pregunta 4  7.6.5 Pregunta 5  7.6.6 Pregunta 6  7.6.7 Pregunta 7  7.6.8 Pregunta 8  7.6.9 Pregunta 9  7.6.10 Pregunta 10  7.6.11 Pregunta 11  7.6.12 Pregunta 12  7.6.13 Pregunta 13  7.6.14 Pregunta 14  7.6.15 Pregunta 15  7.6.16 Pregunta 16

(6)

 7.6.17 Pregunta 17  7.6.18 Pregunta 18  7.6.19 Pregunta 19  7.6.20 Pregunta 20  7.6.21 Pregunta 21 o 7.7 Instrucciones DO LOOP o 7.8 Banco de Preguntas  7.8.1 Pregunta 1  7.8.2 Pregunta 2  7.8.3 Pregunta 3  7.8.4 Pregunta 4  7.8.5 Pregunta 5  7.8.6 Pregunta 6  7.8.7 Pregunta 7  7.8.8 Pregunta 8  7.8.9 Pregunta 9  7.8.10 Pregunta 10  7.8.11 Pregunta 11  7.8.12 Pregunta 12  7.8.13 Pregunta 13  7.8.14 Pregunta 14

(7)

 7.8.15 Pregunta 15  7.8.16 Pregunta 16  7.8.17 Pregunta 17  7.8.18 Pregunta 18 o 7.9 Instrucciones FOR……NEXT o 7.10 Banco de Preguntas o 7.11 Pregunta 1  7.11.1 Pregunta 2  7.11.2 Pregunta 3  7.11.3 Pregunta 4  7.11.4 Pregunta 5  7.11.5 Pregunta 6  7.11.6 Pregunta 7  7.11.7 Pregunta 8  7.11.8 Pregunta 9  7.11.9 Pregunta 10  7.11.10 Pregunta 11  7.11.11 Pregunta 12  7.11.12 Pregunta 13  7.11.13 Pregunta 14  7.11.14 Pregunta 15

(8)

 7.11.15 Pregunta 16  7.11.16 Pregunta 17  7.11.17 Pregunta 18  7.11.18 Pregunta 19  7.11.19 Pregunta 20 o 7.12 Banco de Preguntas  7.12.1 Pregunta 1  7.12.2 Pregunta 2  7.12.3 Pregunta 3  7.12.4 Pregunta 4  7.12.5 Pregunta 20

 8 Objetos, Propiedades, Métodos y Procedimientos de Evento o 8.1 Comprender Objetos, Propiedades, Métodos y Eventos o 8.2 Procedimientos o 8.3 Banco de Preguntas  8.3.1 Pregunta 1  8.3.2 Pregunta 2  8.3.3 Pregunta 3  8.3.4 Pregunta 5  8.3.5 Pregunta 6  8.3.6 Pregunta 7

(9)

 8.3.7 Pregunta 8  8.3.8 Pregunta 9  8.3.9 Pregunta 10  8.3.10 Pregunta 11  8.3.11 Pregunta 12  8.3.12 Pregunta 13  8.3.13 Pregunta 14  8.3.14 Pregunta 15  8.3.15 Pregunta 16  8.3.16 Pregunta 17  8.3.17 Pregunta 18  8.3.18 Pregunta 19  8.3.19 Pregunta 20  9 Colecciones de Objetos en Excel

o 9.1 El examinador de objetos o 9.2 Uso de la ventana Locales o 9.3 Uso de la ventana Inmediato

o 9.4 Controlar una aplicación de Microsoft Office desde otra o 9.5 Objeto Application y Windows

o 9.6 Objetos WorkBooks  9.6.1 ThisWorkBook

(10)

 9.6.2 Sheets  9.6.3 WorkSheets  9.6.4 Charts  9.6.5 Shapes  9.6.6 Banco de Preguntas  9.6.6.1 Pregunta 1 o 9.7 Objetos ActiveCell  9.7.1 ActiveSheet  9.7.2 ActiveWorkBook  9.7.3 ActiveChart  9.7.4 Banco de Preguntas  9.7.4.1 Pregunta 1  9.7.4.2 Pregunta 2  9.7.4.3 Pregunta 3  9.7.4.4 Pregunta 4  9.7.4.5 Pregunta 5  9.7.4.6 Pregunta 6  9.7.4.7 Pregunta 7  9.7.4.8 Pregunta 8  9.7.4.9 Pregunta 9  9.7.4.10 Pregunta 10

(11)

 9.7.4.11 Pregunta 11  9.7.4.12 Pregunta 12  9.7.4.13 Pregunta 13  9.7.5 = Pregunta 13  9.7.5.1 Pregunta 14  9.7.5.2 Pregunta 15 o 9.8 Objetos Range  9.8.1 Cells  9.8.2 Columns  9.8.3 Propiedad Columns  9.8.4 Rows  9.8.5 IMPRIMIR CELDAS  9.8.6 Selection Name  9.8.7 FUNCIONES  9.8.8 Banco de Preguntas  9.8.8.1 Pregunta 1  9.8.8.2 Pregunta 2  9.8.8.3 Pregunta 3  9.8.8.4 Pregunta 4  9.8.8.5 Pregunta 5  9.8.8.6 Pregunta 6

(12)

o 9.9 UserForms o 9.10 Columns o 9.11 MACROS

o 9.12 BUSCAR UNA CADENA DE TEXTO EN OTRA MAS LARGA o 9.13 control listbox

 10 Bibliografía

Introducción

Microsoft Excel es un programa del computador mediante hojas electrónicas agrupadas en libros los que ayudan a realizar cálculos de cualquier fondo especialmente numérico.a más de esto podemos decir que Visual Basic es un diseñador de entorno de Datos. Además constituye una herramienta muy eficaz y necesaria para varias enseñanzas numéricas. Entre muchas otras aplicaciones, es utilizado en el tratamiento estadístico de datos, también permitiendo hacer presentación gráfica de los datos o números almacenados.

Hojas Electronicas Es un programa que permite insertar datos numéricos y alfanuméricos dispuestos en forma de tablas. Habitualmente es posible realizar cálculos complejos con fórmulas y funciones y dibujar distintos tipos de gráficas. Esta hoja electronica esta compuesta por filas y columnas.

Las hojas de cálculo, se utilizan para hacer pequeñas bases de datos, informes, gráficos estadísticos, clasificaciones de datos, entre otros usos. Las operaciones más frecuentes se basan en cálculos entre celdas, las cuales son referenciadas respectivamente mediante la letra de la columna y el número de la fila, por ejemplo =B1*C1.

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. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, como Word, Excel y Access, Powerpoint y Visio. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien

(13)

súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos.

Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un lenguaje orientado a eventos con acceso a la API de Windows. Características de Visual Basic.

Elementos de visual basic para aplicaciones:

El Explorador de proyectos es una herramienta de exploración y gestión que muestra una lista jerárquica de cada proyecto abierto. También muestra cada una de las componentes asociadas con los proyectos, como los documentos de Word, formularios, módulos de clase y referencias. En palabras sencillas hay que dejarlo tal como está. A medida que

agreguemos objetos a nuestro progranma irán apareciendo en el explorador y nos servirá para movernos de un componente a otro.

Ventana de propiedades: La ventana de Propiedades muestra las propiedades para el objeto

activo (Formulario de usuario o control). Ofrece una manera visual de configurar y modificar propiedades. En la ventana de propiedades , las propiedades se pueden listar alfabéticamente o por categorías. En palabras sencillas, cuando agregamos un objeto este tiene varias "propiedades" como su color, tamaño, tipo de letra, etc. En esta ventana podemos cambiar las propiedades del objeto "activo" (iluminado) en ese momento. 'Barra de herramientas:'

Es donde aparecen los botones para las funciones mas usadas, esta justo abajo de la Barra de menús que tiene los menús con todas las opciones del Visual BAsic Area de trabajo. Es donde colocamos nuestros objetos (Formularios o controles) y les agregamos código Como se hacen los programas en Visual Basic:

Los programas en Visual Basic se hacen en dos etapas a) Se dibujan las pantallas b) Se coloca código a los objetos Así de simple, con esto tenemos toda la teoría necesaria para programar en VB, parece chiste pero es en serio.

Visual Basic.- es un lenguaje de programación de los llamados "visuales", puesto que parte de la programación que se realiza con él se basa en la utilización de elementos visuales. La palabra "Visual" hace referencia al método que se utiliza para crear la interfaz gráfica de usuario. En lugar de escribir numerosas líneas de código para describir la apariencia y la ubicación de los elementos de la interfaz, simplemente podemos agregar objetos

prefabricados en su lugar dentro de la pantalla, que ahorran mucho tiempo de programación y que sobrepasan el concepto de la programación convencional en cuanto a la estructura secuencial del programa. Profundizaremos en estos conceptos a medida que avancemos en el desarrollo del curso. Nos permite la creación de componentes y trabajar con objetos, otros lenguajes tienen más potencia en la programación orientada a objetos, pero a medida que han avanzado en las versiones de Visual Basic, ha aumentado su versatilidad.

(14)

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, tales como , como Word, Excel y Access, Powerpoint y Visio. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 o 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos.

Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un lenguaje orientado a eventos con acceso a la API de Windows. Este lenguaje ha sido implementado en otros productos como StarBasic en StarOffice que después heredaría OpenOffice.

Entre los diferentes campos que posee Microsoft Excel se puede mencionar algunas de las actividades que se puede realizar en la misma, como programación con macros en VBA (Visual Basic) el cual puede existir en algunas versiones con varios términos en ingles.

Es un lenguaje orientado a eventos en aplicaciones tradicionales o "por procedimientos", la aplicación es la que controla qué partes de código y en qué secuencia se ejecutan.

_________________________________________________________________________ __________________

VISUAL BASIC Visual Basic es un ambiente gráfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual Basic están basadas en objetos y son manejadas por eventos. Visual Basic se deriva del lenguaje Basic, el cual es un lenguaje de programación estructurado. Sin embargo, Visual Basic emplea un modelo de programación manejada por eventos.

LENGUAJES DE PROGRAMACION

Es un idioma artificial (crea conocimiento)el cual es entendible para el computador y se los utiliza para crear programas que controlen el comportamiento físico y lógico de una

máquina. Este lenguaje está formado por un conjunto de símbolos y reglas sintácticas y semánticas predefinidas y su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático a esto se lo llama programación.

Visual Basic consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del programa, sino que se puede hacer de forma visual).

(15)

CARACTERISTICAS DE VISUAL BASIC

EDICIONES DE VISUAL BASIC

Visual Basic se encuentra disponible en tres versiones, cada una de las cuales está orientada a unos requisitos de programación específicos. • La Edición de Aprendizaje de Visual Basic permite a los programadores crear robustas aplicaciones para Microsoft Windows y

Windows NT®. Incluye todos los controles intrínsecos, además de los controles de cuadrícula, de fichas y los controles enlazados a datos. La documentación proporcionada con esta edición incluye el CD "Aprenda VisualBasic ya" junto con el de la biblioteca de Microsoft Developer Network (MSDNT) que contienen documentación completa en pantalla. • La Edición Profesional proporciona a los profesionales un conjunto completo de herramientas para desarrollar soluciones para terceros. Incluye todas las características de la Edición de Aprendizaje, así como controles ActiveX adicionales, el diseñador de

aplicaciones para Internet Information Server y Visual Database Tools and Data. La documentación que se proporciona con la Edición Profesional incluye el libro Características empresariales de Visual Studio más los CD de Microsoft Developer Network que contienen documentación completa en pantalla. • La Edición Empresarial permite a los profesionales crear sólidas aplicaciones distribuidas en un entorno de equipo. Incluye todas las características de la Edición Profesional, así como herramientas de Back Office como SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, etc. La documentación impresa que se proporciona con la Edición Empresarial incluye el libro Características empresariales de Visual Studio más los CD de Microsoft Developer Network que contienen documentación completa en pantalla.

Como se define Visual Basic

Visual Basic es una técnica de programación, conocida como programación por sucesos o eventos, que es una mezcla de la programación estructurada y de programación orientada a objetos, con el uso de la interfaz gráfica de usuario. De esta manera el programador trabaja desde el primer momento en un ambiente orientado a objetos.

Que se puede hacer en Visual Basic

- Con Visual Basic se pueden crear aplicaciones con las caracteristicas de los programas de Windows, esto es con ventanas, botones, cajas de diálogo y de texto, botones de opcion y de selección, barras de desplazamiento, gráficos, menús, etc.

- Con Visual Basic se pueden crear programas para uso personal, para un grupo de trabajo, para una empresa, aplicaciones distribuidas a través de aplicaciones de bases de datos y muchas otras mas de acuerdo a su ingenio e imaginación.

(16)

- Con Visual Basic se pueden crear aplicaciones gráficas con sonido, animación, video y otros componenetes de multimedia.

Entorno de desarrollo de visual basic

Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's.

• Se compone principalmente de su barra de herramientas y menús que se pueden

personalizar con prácticamente la completa totalidad de los comandos del IDE a necesidad. • El espacio de trabajo donde se muestran todas las ventanas del proyecto, las vistas de código de módulos y objetos, y lalos controles con los que componen las ventanas de nuestra aplicación. Por defecto disponemos los controles básicos:

o (PictureBox) Caja de Imagen o (Label) Etiqueta

o (TextBox) Caja de texto o (Frame) Marco

o (CommandButton) Botón de comando o (CheckBox) Casilla de verificación:

Los botones de opciones son mutuamente excluyentes, solo permiten que solo una opción seá seleccionada. Suponiendo que deseamos presentar al usuario varias opciones de las cuales puede escoger varias. En este caso el uso de cajas de verificación es más adecuado. Crea una aplicación como la mostrada abajo. El usuario podra escoger el item que necesite dando clic en la caja de verificación. Los iconos serán mostrados al seleccionar un item. o (OptionButton) Botón de opción

o (ComboBox) Lista desplegable o (ListBox) Lista

o (HScrollBar) Barra de desplazamiento horizontal o (VScrollBar) Barra de desplazamiento vertical o (Timer) Temporizador

(17)

o (DirListBox) Lista de directorios o (FileListBox) Lista de archivos o (Shape) Figura

o (Line) Línea o (Image) Imagen

o (Data) Conexión a origen de datos

o (OLE) Contenedor de documentos embebidos compatibles con Object Linking and Embedding

Se pueden agregar todo tipo de controles de terceros, una gran cantidad de ellos de serie con la instalación de Visual Basic que vienen embebidos dentro de archivos de extensión *.OCX.

• El panel lateral derecho contiene dos vistas principales:

o El Explorador de Proyectos, que muestra todos los elementos que componen nuestro proyecto o grupos de proyectos (formularios, interfaz de controles, módulos de código, módulos de clase, etc...)

o El Panel de propiedades, donde se muestran todos los atributos de los controles de nuestros formularios o la información de modulos clase y formularios entre otros muchos. • La Ventana de inmediato (por defecto en la parte inferior aunque puede no estar visible. Utilizar Ctrl+G mostrar la ventana). Esta ventana resulta una herramienta muy útil a la hora de depurar código o incluso de hacer pruebas rápidas ya que permite imprimir mensajes de texto desde nuestro código y ejecutar sentencias simples de código (solo sentencias que se puedan representar en una sola línea, no permite bloques) que puede ser desde código de nuestra propia aplicación, por ejemplo consultar el valor de una variable o llamar a un método declarado en el módulo que se està depurando, así como ejecutar código al vuelo, esto viene a ser por ejemplo probar cosas como:

?2+2

Al ejecutarlo devolvería el resultado de la operación, pudiendo usar variables del código de la aplicación, o sentencias de código como:

Msgbox "Prueba de cuadro de mensaje de error.", vbCritical, "Titulo del mensaje" A la hora de depurar errores es útil para consultar el error en cuestión: ?Err.Number

(18)

VERSIONES QUE TIENE VISUAL BASIC

Las versiones de Visual Basic para Windows son muy conocidas, pero existe una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estándar) menos

difundida y que data de 1992.

Era un entorno que, aunque en modo texto, incluía un diseñador de formularios en el que se podían arrastrar y soltar distintos controles.

La última versión sólo para 16 bits, la 3.0, no incluía una detallada biblioteca de

componentes para toda clase de usos. Durante la transición de Windows 3.11 a Windows 95, apareció la versión 4.0, que podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos "runtime" necesarios.

Además, se sustituyen los controles VBX por los nuevos OCX. Con la versión 5.0, estuvo a punto de implementar por primera vez la posibilidad de compilar a código nativo,

obteniendo una mejora de rendimiento considerable. Tanto esta como la posterior 6.0 soportaban características propias de los lenguajes orientados a objetos, aunque careciendo de algunos ítems importantes como la herencia y la sobrecarga.

La versión 6.0 continua utilizándose masivamente y es casi compatible prácticamente al 100% con las últimas versiones de Windows como Vista y Windows 7.

Las versiones actuales de Visual Basic se basan en la plataforma .NET, que se desligan de las anteriores versiones. Cabe mencionar que aunque menos conocido, existió también una versión gratuita de Visual Basic 5.0 dedicada en su práctica al desarrollo de controles y componentes, su nombre en concreto era Microsoft Visual Basic 5.0 Control Creation Edition (Visual Basic 5 CCE).

También hubo versiones orientadas al desarrollo de aplicaciones para dispositivos móviles basados en Windows CE y Pocket PC, conocido como eMbedded Visual Basic.

Tiene lo siguiente:

Barra de titulo: Muestra el nombre del Proyecto y del formulario que diseñamos. Barra de Menus: agrupa los menus desplegables que contiene todas las operaciones que se llevaran a cabo. Barra de Herramientas:contiene los botones que se utiliza con mas frecuencia en la elaboración de un proyecto. Ventana de formularios:es la ventana donde diseñamos la interfaz grafica. Cuadro de Herramientas:nos presenta todos los controles necesarios para una aplicacion, como cuadros de texto, botones, entre otros. Ventana de proyecto:muestra los elememntos involucrados en el proyecto Ventana de Posición de Formularios:nos indica la posicion del formulario en pantalla.

(19)

• Es un lenguaje .

• Posee una curva de aprendizaje muy rápida.

• Integra el diseño e implementación de formularios de Windows.

• Permite usar con suma facilidad la plataforma de los sistemas Windows dado que tiene acceso prácticamente total a la API de Windows incluídas librerías actuales.

• El código en Visual Basic es fácilmente migrable a otros lenguajes.

• Es un lenguaje muy extendido por lo que resulta fácil encontrar información, documentación y fuentes para los proyectos.

• Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros lenguajes. • Posibilidad de añadir soporte para ejecución de scripts, VBScript o JScript, en las

aplicaciones mediante Microsoft Script Control.

• Acceso a la API multimedia de DirectX (versiones 7 y 8). También está disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1: VBOpenGL type library • Existe una versión integrada en las aplicaciones de Office, versiones tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos como por ejemplo una hoja de cálculo de Excel o una base de datos Access (VBA)

• Es un entorno perfecto para realizar pequeños prototipos rápidos de ideas. • Es amigo de los objetos

• Permite crear anuncios.

DESVENTAJAS EN VISUAL BASIC

• Sin soporte oficial de Microsoft desde el 4 de abril de 2008 (aunque existe mucha documentación disponible en el sitio de MSDN incluídas descargas de Service Packs, paquetes de dependencias mínimas y similares en el sitio web de Microsoft).

• No es multiplataforma (sin embargo se pueden usar emuladores e intérpretes para correrlos en otras plataformas).

• Por defecto permite la programación sin declaración de variables, (que puede ser sencillamente corregida escribiendo la frase Option Explicit en el encabezado de cada módulo de código, en cuyo caso será menester declarar todas las variables a utilizar, lo que a la postre genera código más estable y seguro).

(20)

• No permite programación a bajo nivel ni incrustar secciones de código en ASM (aunque es posible ejecutar código ASM mediante pequeños hacks como este).

• Sólo soporta librerías dinámicas (DLL) que usen la convención de llamadas _stdcall y componentes y librerías ActiveX.

• Es un lenguaje basado en objetos pero no implementa por completo la filosofía de Orientación a Objetos (véase POO).

• No permite la sobrecarga de operadores ni métodos. • No permite nombres de espacio (véase namespace). • No soporta el puntero a memoria salvo en algunas acciones concretas, como por ejemplo pasar la dirección de memoria de una función como argumento

(operador AddressOf). • No soporta tratamiento de procesos como parte del lenguaje. • No incluye operadores de desplazamiento de bits como parte del lenguaje. • No permite el manejo de memoria dinámica, punteros, etc. como parte del lenguaje. • No soporta el tratamiento de excepciones. Su tratamiento de errores se basa en la captura de mensajes y desvío del flujo de ejecución de la forma tradicional del BASIC (On Error Goto

<etiqueta/numero línea>). • No controla todos los errores de conversión de tipos dado que en muchas ocasiones hace conversiones al vuelo (sobre todo al usar variables de tipo Variant). • Aunque existen opciones avanzadas en el compilador para desactivar los controladores de desbordamiento de enteros o las comprobaciones de límites en matrices entre otros (presumiblemente para optimizar y lograr algo de rendimiento) no es seguro del todo dado que hay más posibilidades de generar una excepción grave no controlada por el intérprete (y por consiguiente del programador) o un memory leak haciendo el programa altamente inestable e impredecible. • No tiene instrucciones de preprocesamiento. • El tratamiento de mensajes de Windows es básico e indirecto. • El depurador no es demasiado flexible ni cómodo en ciertas situaciones.

• Los controles personalizados no mejoran la potencia de la API de Windows, y en

determinados casos acudir a ésta será el único modo de conseguir el control personalizado deseado.

• No soporta correctamente la programación multihilo haciendo muy inestable su ejecución inclusive desde el propio entorno de desarrollo.

• Su fuerte dependencia de librerías y componentes ActiveX que requieren de privilegios de administrador para poder instalar las aplicaciones (existen opciones de terceras aplicaciones para generar ejecutables independientes que embeben las dependencias en el propio código del ejecutable, por ejemplo: Molebox o Thinstall/VMware Thinapp).

• Un gran inconveniente es que no soporta codigo binario (Esto ha sido descubierto por el Matematico Griego Alsdork Vita en el año 1994).

• Se bugea con facilidad y no permite ensamblar codigo libre, aunque algunos programadores han violado esta regla, y sufrieron consecuencias. (Ver Bill Gates).

(21)

• Aunque es bueno compilando, posee gran cantidad de bugs y es necesario actualizar a la version 7 con el parche Raid.

Como se diseñan las aplicaciones

Las aplicaciones en Visual Basic se diseñan de dos formas: en Modo de Diseño y en Modo de Ejecución. En Modo de Diseño el usuario construye interactivamente la aplicación colocando controles en el formulario definiendo sus propiedades y desarrollando funciones para gestionar eventos.

La aplicación se prueba en Modo de Ejecución, para lo cual el actúa sobre el programa introduciendo eventos y prueba como responde el programa. Muchas propiedades de los controles deben establecerse en modo diseño, pero otras pueden modificarse en tiempo de ejecución desde el programa. También hay propiedades que solo se pueden establecer en modo de ejecución y que no son visibles en modo de diseño.

Controles

Cada uno de los elementos gráficos que pueden formar parte de aplicación típica de Windows es un tipo de control, entre estos encontrar los botones, las cajas de dialogo y de texto, las cajas de selección desplegables, los botones de opción y de selección, las barras de desplazamiento horizontales y verticales, los gráficos, los menús y otros elementos son controles para Visual Basic. Cada control debe tener un nombre por medio del cual se pueda hacer referencia en el programa. Visual Basic proporciona nombres a los controles por defecto los mismos que el usuario puede modificar de acuerdo a sus objetivos y conveniencias. Sin embargo se recomienda observar algunas reglas para dar nombres a los distintos controles.

Formularios

En Visual Basic llamamos formulario ( form ) a una ventana. Un formulario es considerado como una especie de contenedor para los controles. Una aplicación puede tener varios formularios pero muchas veces un solo formulario puede ser suficiente para una aplicación sencilla. Los formularios también deben tener un nombre, que pueden crearse siguiendo las mismas reglas utilizadas para los controles.

Objeto

Un objeto es una definición abstracta de algo, identificado por dos subpartes

inexorablemente unidas entre sí. En primer lugar un objeto, tiene atributos, en ocasiones llamados estados o propiedades, que lo describen. En segundo lugar, un objeto tiene comportamientos, a veces denominado funciones o métodos, los cuales describen lo que puede hacer. Por ejemplo un perro, un auto y una naranja son objetos. A continuación describamos algunos atributos y comportamientos posibles de cada uno.

(22)

Documentación de Visual Basic.

Visual Basic incluye varias herramientas de documentación, cada una designada para ayudarle a aprender y usar un aspecto particular del producto. La documentación proporcionada con Visual Basic incluye lo siguiente:

Ayuda de la interfaz de usuario de Visual Basic Busque aquí ayuda sobre los elementos de interfaz del Editor de Visual Basic, como comandos, cuadros de diálogo, ventanas y barras de herramientas.

Referencia el lenguaje de Visual Basic La Referencia del lenguaje es el lugar donde buscar ayuda sobre el lenguaje de Visual Basic: todos sus métodos, propiedades, instrucciones, funciones, operadores y objetos.

Uso de funciones de hoja de cálculo de Microsoft Excel en Visual Basic

Puede usar la mayoría de las funciones de hoja de cálculo de Microsoft Excel en los enunciados de Visual Basic. Para obtener una lista de las funciones de hoja de cálculo que puede usar, vea Lista de funciones para hojas de cálculo en Visual Basic.

Nota Algunas funciones de hoja de cálculo no tienen utilidad en Visual Basic. Por ejemplo, la función Concatenar no es necesaria, ya que en Visual Basic puede usar el operador & para unir varios valores de texto.

Llamar a una función de hoja de cálculo desde Visual Basic En Visual Basic, las funciones de hoja de calculo de Microsoft Excel pueden ejecutarse mediante el objeto

WorksheetFunction.

El siguiente procedimiento Sub usa la función Min para obtener el valor más pequeño de un rango de celdas. En primer lugar, se declara la variable myRange como un objeto Range y, a continuación, se establece como el rango A1:C10 de la hoja Sheet1.ç

Sub UseFunction()ç Dim myRange As Range

Set myRange = Worksheets("Sheet1").Range("A1:C10") answer = Application.WorksheetFunction.Min(myRange) MsgBox answer

End Sub

Si usa una función de hoja de cálculo que requiere como argumento una referencia de rango, deberá especificar un objeto Range. Por ejemplo, puede usar la función de hoja de cálculo Coincidir para efectuar una búsqueda en un rango de celdas. En una celda de hoja de cálculo, podría insertar una fórmula como =COINCIDIR(9;A1:A10;0). No obstante, en

(23)

un procedimiento de Visual Basic, para obtener el mismo resultado debe especificar un objeto Range. Sub FindFirst() myVar = Application.WorksheetFunction _ .Match(9, Worksheets(1).Range("A1:A10"), 0) MsgBox myVar End Sub Nota

Las funciones de Visual Basic no usan el calificador WorksheetFunction. Una función puede tener el mismo nombre que una función de Microsoft Excel y, sin embargo, dar otros resultados. Por ejemplo, Application.WorksheetFunction.Log y Log dan resultados

diferentes.

Insertar una función de hoja de cálculo en una celda Para insertar una función de hoja de cálculo en una celda, especifique la función como el valor de la propiedad Formula del objeto Range correspondiente. En el siguiente ejemplo, la función ALEATORIO (que genera un número aleatorio) se asigna a la propiedad Formula del rango A1:B3 de la Hoja1 del libro activo.

Sub InsertFormula()

Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"

End Sub Ejemplo En este ejemplo se usa la función de hoja de cálculo Pago para calcular un pago de préstamo hipotecario. Tenga en cuenta que en el ejemplo se usa el método InputBox en lugar de la función InputBox, para que el método pueda comprobar el tipo. El enunciado Static hace que Visual Basic conserve los valores de las tres variables, que se mostrarán como valores predeterminados la próxima vez que se ejecute el programa.

Static loanAmt Static loanInt Static loanTerm

loanAmt = Application.InputBox _

(Prompt:="Loan amount (100,000 for example)", _ Default:=loanAmt, Type:=1)

loanInt = Application.InputBox _

(Prompt:="Annual interest rate (8.75 for example)", _ Default:=loanInt, Type:=1)

loanTerm = Application.InputBox _

(Prompt:="Term in years (30 for example)", _ Default:=loanTerm, Type:=1)

payment = Application.WorksheetFunction _

(24)

MsgBox "Monthly payment is " & Format(payment, "Currency")

Entorno de desarrollo

Su entorno de desarrollo es muy similar al de otros lenguajes • Se compone principalmente de su barra de herramientas y menús que se pueden personalizar con prácticamente la completa totalidad de los comandos del IDE a necesitar. • El espacio de trabajo donde se muestran todas las ventanas del proyecto, las vistas de código de módulos y objetos, y las vistas de diseño de formularios y componentes. • El Cuadro de herramientas (por defecto a la izquierda) contiene los controles con los que componen las ventanas de nuestra

aplicación. Por defecto disponemos los controles básicos en este encantamos los siguientes :

o Puntero: Se utiliza para manipular los controles existentes sobre el formulario. Con el puntero se puede seleccionar, mover y ajustar el tamaño de los objetos.

o (PictureBox) Caja de Imagen: la principal funcion de este boton es agregar una imagen (Picture).

o (Label) Etiqueta Este componente se utiliza para agregar textos o mensajes estaticos. asi mismo este componente conforme se van agregando más de estos en el UserForm se van numerando automaticamente.

o (TextBox) Caja de texto a traves de este podemos escribir caracteres de distintos tipos y cualidades tanto numericos como alfabeticos

o (Frame) Marco: Describe un marcod e agrupamiento en el que se puede incluir controles del mismo tipo.

o (CommandButton) Botón de comando es decir que me permite ejecutar una funcion dada o propuesta en un ejercicio de USerForm. o

(CheckBox) Casilla de verificación : Se utiliza para listar opciones y que el usuario pueda elegir entre estas.

o (OptionButton) Botón de opción : permite elegir al usuario una ovarias opciones entre un grupo sea limitado o e ilimitado de opciones. Cuando se activa un botón de opción, los demás se desactivan.

o (ComboBox) Lista desplegable: esta funcion le permite al usuario elegir entre las opciones ya establecidas y que se desplegan de esta.

o (ListBox) Lista : Permite establecer elementos y visulizarlos en forma de columnas. Permite ofrecer al usuario una serie de opciones para que elija. El cuadro de lista indica las opciones que se encuentran disponibles y el usuario selecciona un elemento o entrada de la lista haciendo clic sobre el.

(25)

o (HScrollBar) Barra de desplazamiento horizontal : Sirven para informar de la posición del cuadro de desplazamiento dentro de la barra.

o (VScrollBar) Barra de desplazamiento vertical

o (DriveListBox) Lista de unidades de disco : es una especie de Combo Box o lista desplegable que nos permite visualizar las unidades que tengamos en la PC o (DirListBox) Lista de directorios

o (FileListBox) Lista de archivos o (Shape) Figura

o (Line) Línea : proporciona un medio sencillo para dibujar lineas en un formulario o (Image) Imagen

o (Data) Conexión a origen de datos

o (OLE) Contenedor de documentos embebidos compatibles con Object Linking and Embedding

vba-ejemplos

=Programación en entornos Visual Basic=

Características de Visual Basic.

Barra de titulo: muestra el nombre del proyecto y del formulario que se está diseñando actualmente

Barra de menús: agrupa los menús despegables que contienes todas las operaciones que pueden llevarse a cabo con Visual Basic

Barra de herramientas estándar: contienen los botones que se utilizan con mayor frecuencia cuando se trabaja con un proyecto. Simplifica la elección de opciones de los menús Archivo, Edición, Ver y Ejecutar; además, en el área derecha presenta la ubicación (coordenadas) y el tamaño del objeto seleccionado

Ventana de formulario: es el área donde se diseña la interfaz gráfica, es decir, es donde se inserta electo gráficos, como botones, imágenes, casilla de verificación, cuadros de listas, etc.

Cuadro de herramientas: presenta todos los controles necesarios para diseñar una aplicación, como cuadros de texto, etiquetas, cuadros de listas, botones de comandos, etc.

(26)

Ventana de proyecto: muestra los elementos involucrados en el proyecto, como formularios, módulos, controles oxc, etc. Cada elemento puede seleccionarse en forma independiente para su edición.

Ventana de posición del formulario: muestra la ubicación que tendrá el formulario en la pantalla, cuando ejecute la aplicación. Esta ubicación puede cambiarse si se hace clic con el botón izquierdo del mouse.

La Ventana propiedades muestra todas las propiedades del control actualmente seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que abajo dice "Form1 Form", lo que está en negrita es el nombre del objeto, y lo que le sigue es el tipo de objeto, en este caso es un Formulario (Form)

Panel de controles Contiene los objetos (controles) que podemos insertaren el formulario.

Para nuestro primer ejemplo vamos a utilizar los que están señalados.

Etiqueta de texto: Escribe texto en el formulario Cuadro de texto: Crea un espacio donde puede escribir el usuario

Botón: nos permite la interaccion entre formularios o la ejecucion de acciones

Línea: nos permite dibujar líneas

Shape: nos permite dibujar figuras geométricas

Timer: introduce una llamada al reloj del sistema para incluir eventos a lo largo de un espacio temporal. TextBox:Mediante este control podremos realizar tanto la entrada como la salida de datos en nuestras aplicaciones.

No hace falta que indiquemos las coordenadas de la situación del formulario en pantalla, simplemente tendremos que marcar sobre el control de la caja de herramientas y dibujarlo con el tamaño que queramos en nuestro formulario

Label

Este control es también uno de los más utilizados, aunque su utilidad queda restringida a la visualización de datos en el mismo, no permitiendo la introducción de datos por parte del usuario,es decir es una etiqueta en donde colocamos un titulo que aparecera en un

formulario Este componente se utiliza para desplegar textos o mensajes estáticos dentro de las formas, textos tales como encabezados, solicitud al usuario del programa para que proporcione algún dato o información(edad, dame sueldo, etc.), en cierta forma hace las funciones de printf, cout, writeln, print, display, etc., pero solo cuando se consideran en su parte de mensajes.

(27)

También es un objeto en Visual Basic y por tanto tiene asociados sus propias propiedades y eventos, al mismo tiempo como se está usando dentro del objeto form1, muchas

propiedades que se definan para el objeto Form1, el objeto Label1 las va a heredar. Si bien es cierto que el objeto se llama Label, pero cuando se ponen dentro de una forma Visual Basic los va numerando automáticamente, si se ponen tres Labels en Form1, ellos se llaman, simbolizan, procesan o programan como Label1, Label2, Label3.

Es su propiedad Caption, la que lleva el contenido del mensaje que se quiere desplegar en la pantalla, solo click derecho a un lado de la propiedad Caption en la pagina de

propiedades, teniendo seleccionada la caja Label1 en la forma y escribir el texto indicado. CommandButton Este control es el típico botón que aparece en todas las aplicaciones y que al hacer click sobre él nos permite realizar alguna operación concreta, normalmente Aceptar o Cancelar. Aunque según el código que le asociemos podremos realizar las operaciones que queramos.

variables

son las zonas asignadas por la memoria del ordenador para almacenar los datos.

OptionButton

Este control nos permite elegir una opción entre varias de las que se nos plantean. Cada opción será un control optionbutton diferente.

== DECLARACIONES:_Declarar instrucciones == Escribir instrucciones de Visual Basic

Las instrucciones de declaración se usan para dar nombre y definir procedimientos,

variables, matrices y constantes. Cuando se declara un procedimiento, variable o constante, también se define su alcance que depende del lugar en que se coloque la declaración y de las palabras clave que se usan para ello. Las instrucciones de declaración, que dan nombre a una variable, constante o procedimiento y pueden también especificar su tipo de datos. El siguiente ejemplo contiene tres declaraciones.

Sub DarFormato()

Const limite As Integer = 33 Dim miCelda As Range

' Mas instrucciones End Sub

(28)

La instrucción Sub (con la correspondiente instrucción End Sub) declara un procedimiento llamado DarFormato. Todas las instrucciones que aparecen entre las instrucciones Sub y End Sub se ejecutan cuando el procedimiento DarFormato se ejecuta o se llama.

En VBA, es necesario declarar las variables antes de usarlas mediante la asignación de nombres y tipos de datos. Hay muchos tipos de datos VBA, que pueden ser divididos en dos tipos numéricos y datos no numéricos

Escribir instrucciones de declaración

Valores iniciales Cuando se ejecuta el código que contiene una declaración de instrucción, Visual Basic reserva la memoria requerida para el elemento declarado. Si el elemento contiene un valor, Visual Basic lo inicializa al valor predeterminado para su tipo de datos. Para obtener más información, vea "Comportamiento" en Instrucción Dim (Visual Basic).

Continuar instrucciones en múltiples líneas Una instrucción cabe normalmente en una línea, pero puede continuarse en la siguiente utilizando un carácter de continuación de línea. En el siguiente ejemplo, la instrucción ejecutable MsgBox se extiende por las tres líneas que le siguen:

Sub CuadroDemo()'Este procedimiento declara una variable de cadena, ' le asigna el valor Juan y a continuación

' presenta en pantalla un mensaje concatenado. Dim miVar As String

miVar = "Juan"

MsgBox Prompt:="Hola " & myVar, _ Title:="Cuadro de saludo", _ Buttons:=vbExclamation

End Sub

Añadir comentarios

Los comentarios pueden explicar un procedimiento o una instrucción en particular a

cualquier persona que tenga que leer el código. Visual Basic ignora los comentarios cuando ejecuta los procedimientos. Las líneas de comentario comienzan por un apóstrofe (') o con la palabra clave Rem seguida por un espacio y puede colocarse en cualquier lugar del procedimiento. Para añadir un comentario a la misma línea que ocupa una instrucción, debe insertarse un apóstrofe después de esta, seguido por el comentario. Los comentarios

aparecen en pantalla en color verde, color predefinido. Comprobar errores de sintaxis

Si se presiona la tecla ENTRAR después de escribir una línea de código y la línea aparece en pantalla en color rojo , debe averiguar cuál es el problema en esa instrucción y

corregirlo. Aunque en muchas de las situaciones cuando se escribe una linea de codigo el programa devuelve un mensajecon error de sintaxis sin tener la necesidad de presionar la tecla entrar los muestra en forma inmediata al compilar el código.

(29)

Escribir instrucciones de declaración

Las instrucciones de declaración se usan para dar nombre y definir procedimientos,

variables, matrices y constantes. Cuando se declara un procedimiento, variable o constante, también se define su alcance que depende del lugar en que se coloque la declaración y de las palabras clave que se usan para ello. El siguiente ejemplo contiene tres declaraciones.

Sub DarFormato()

Const limite As Integer = 33 Dim miCelda As Range

' Mas instrucciones End Sub

La instrucción Sub (con la correspondiente instrucción End Sub) declara un procedimiento llamado DarFormato. Todas las instrucciones que aparecen entre las instrucciones Sub y End Sub se ejecutan cuando el procedimiento DarFormato se ejecuta o se llama.

Declarar constantes La instrucción Dim declara la variable miCelda. El tipo de datos es objeto, en este caso, un objeto Range de Microsoft Excel. Se puede declarar una variable que sea cualquiera de los objetos que están accesibles a la aplicación que se está usando. Las instrucciones Dim son un tipo de instrucción que se utiliza para declarar variables. Otras palabras clave utilizadas en las declaraciones son ReDim, Static, Public, Private y Const.

Declarar variables Una variable se declara para especificar o detallar su nombre y caracteristicas, la instrucción de declaración para variables es la instrucción DIM. la ubicación y contenido de la instrucción DIM determina las características de las variables. es una instrucción completa. Puede contener las palabras clave, operadores, variables, constantes y expresiones. Ejecuta una serie de afirmaciones repetidas haciendo referencia a un solo objeto o estructura.debemos tener en cuenta que cuando declaramos un elemento de programacion, tambien se puede definir su ambito, tipo, y nivel de acceso.

Cada declaración pertenece a una de las siguientes categorías:

• Instrucciones de declaración, que el nombre de una variable, constante o procedimiento, y también puede especificar un tipo de datos.

• Declaraciones ejecutables, que inician acciones. Estas declaraciones pueden llamar a un método o función, y pueden circular o sucursal a través de bloques de código. instrucciones ejecutables incluyen Instrucciones de asignación, que asignan un valor o una expresión a una variable o constante.

(30)

Las instrucciones de declaración se utilizan para definir procedimientos, variables,

propiedades, matrices y constantes, y asignarles nombre. Cuando se declara un elemento de programación, también se puede definir su tipo de datos, nivel de acceso y ámbito.

Para obtener más información, vea Características de los elementos declarados.

Características de los elementos declarados

Una característica de un elemento declarado es un aspecto que afecta a la forma de

interactuar del código con él. Cada elemento declarado tiene una o varias de las siguientes características a asociadas con él

Tipo de datos

Valores que el elemento puede contener y como se alamcena esos valores Consumo de memoria

Al declarar un tipo de datos básico, no debe suponerse que su consumo de memoria es igual a su asignación de almacenamiento nominal. Esto se debe a las consideraciones siguientes: Asignación de almacenamiento.

Common Language Runtime puede asignar el almacenamiento en función de las

características actuales de la plataforma en la que se ejecuta la aplicación. Si la memoria está casi completa, se pueden empaquetar los elementos declarados de la forma más

estrecha posible. En otros casos, se podrían alinear las direcciones de memoria a los límites del hardware naturales para optimizar el rendimiento.

Ancho de plataforma.

La asignación de almacenamiento en una plataforma de 64 bits es diferente a la asignación en una plataforma de 32 bits.

Tipos de datos compuestos

Las mismas consideraciones se aplican a cada miembro de un tipo de datos compuesto, como una estructura o una matriz. No se pueden sumar simplemente todas las asignaciones de almacenamiento nominales de los miembros de tipo. Además, existen otras

consideraciones, como las siguientes: Sobrecarga

Diseño de almacenamiento. Periodo de duración

(31)

Periodo en tiempo de ejecución durante el cual el elemento esta disponible para su uso Cómo: Prolongar la duración de una variable

Normalmente, una variable deja de existir cuando el elemento de programación en el que se declara deja de existir. Sin embargo, puede alargar su duración más que la de su elemento contenedor declarándola con la palabra clave Static (Visual Basic).

Período de duración en Visual Basic

El período de duración de un elemento declarado es el tiempo durante el cual está disponible para el uso. Las variables son los únicos elementos que tienen un período de duración. Para este propósito, el compilador trata los parámetros de procedimiento y la función vuelve como un caso especial de variable. El período de duración de una variable representa el tiempo durante el cual puede contener un valor. Su valor puede variar en su período de duración, pero siempre contiene un valor.

Para alargar la duración de una variable más que la de su elemento contenedor

Si la variable es una variable local (declarada dentro de un procedimiento), incluya la palabra clave Static en la instrucción Instrucción Dim (Visual Basic) que la declara. Una variable estática existe mientras exista la clase o módulo que contiene el procedimiento que declara la variable. Si una variable local está dentro de un procedimiento Shared

(Visual Basic), el procedimiento y sus variables existen siempre que la aplicación esté en ejecución. No utilice Static en este caso.'Si la variable es una variable miembro

(declarada dentro de una clase o estructura, fuera de todo procedimiento), incluya la palabra clave Shared en la instrucción Dim que la declara. Una variable compartida no está asociada a ninguna instancia de su clase o estructura y existe siempre que la aplicación esté en ejecución. No puede utilizar Static en una variable miembro. Si una variable miembro se declara en un módulo, existe siempre que la aplicación esté en

ejecución. No utilice Shared en este caso. Ambito

Conjunto de código que puede hacer referencia al elemento sin calificar su nombre.

Cómo: Controlar el ámbito de una variable Normalmente, una variable está en ámbito, o visible para referencia, en toda la región donde se declara. En algunos casos, el nivel de acceso de la variable puede influir en su ámbito.

(32)

Ámbito en Visual Basic

El ámbito de un elemento declarado es el conjunto de todo el código que puede hacer referencia a él sin calificar su nombre o marcarlo como disponible mediante Imports (Instrucción). Un elemento puede tener uno de los niveles de ámbito siguientes: Nivel Descripción Ámbito de bloque Ámbito disponible únicamente en el bloque de codigo en que se ha se declarado Ámbito de procedimiento Disponible para todo el código dentro del procedimiento en el que se ha declarado Ámbito de módulo Disponible para todo el código dentro del módulo, clase o estructura en el que se ha declarado Ámbito de espacio de nombres Disponible para todo el código dentro del espacio de nombres en el que se ha declarado

Nivel de AccesoPermiso otorgado al código para hacer uso del elemento Cómo: Controlar la disponibilidad de una variable La disponibilidad de una variable se controla

especificando su nivel de acceso. El nivel de acceso determina qué código tiene permiso de lectura o escritura en la variable. • Las variables miembros (definidas en el nivel de módulo y fuera de cualquier procedimiento) tienen como valor predeterminado un acceso público que significa cualquier código que puede verlas y tener acceso a ellas. Puede cambiar esto especificando un modificador de acceso. • Las variables locales (definidas dentro de un procedimiento) tienen nominalmente un acceso público, aunque sólo el código dentro de su procedimiento puede tener acceso a ellas. No puede cambiar el nivel de acceso de una variable local pero puede cambiar el nivel de acceso del procedimiento que la contiene.

= Instrucciones de Asignación =

Las instrucciones de asignación realizan operaciones de asignación, que consisten en tomar el valor de la derecha del operador de asignación (=) y almacenarlo en el elemento de la izquierda.

por ejemplo v = 42: este ejemplo nos indica que la instrucción de asignación almacena el valor literal 42 en la variable v

Es decir una instrucción de asignación asigna el valor de una expresión a una variable. En general, si la variable que se va a asignar es una propiedad, la propiedad debe ser de lectura y escritura o de sólo escritura; en caso contrario, se produce un error de compilación. Si la variable es una variable de sólo lectura, la asignación debe producirse en un constructor Shared o un constructor de instancia apropiado para el tipo de la variable; en caso contrario, se producirá un error de compilación.

AssignmentStatement ::=

SimpleAssignmentStatement | DelegateAssignmentStatement |

(33)

CompoundAssignmentStatement | MidAssignmentStatement

Las instrucciones de asignación realizan operaciones de asignación, que consisten en tomar el valor de la derecha del operador de asignación (=) y almacenarlo en el elemento de la izquierda, como en el ejemplo siguiente.

v = 42

En el ejemplo anterior, la instrucción de asignación almacena el valor literal 42 en la variable v.

OPERADORES DE ASIGNACION

A continuación se recogen los operadores de asignación definidos en Visual Basic. Operador = : Este operador asigna un valor a una variable o propiedad.

Operador ^= : Eleva el valor de una variable o una propiedad a la potencia de una expresión y asigna el resultado de nuevo a la variable o la propiedad.

Operador *= : Multiplica el valor de una variable o una propiedad por el valor de una expresión y asigna el resultado a la variable o la propiedad.

Operador /= : Divide el valor de una variable o una propiedad por el valor de una expresión y asigna el resultado de punto flotante a la variable o la propiedad.

\= (Operador) : Divide el valor de una variable o una propiedad por el valor de una expresión y asigna el resultado entero a la variable o la propiedad.

Operador += : Suma el valor de una expresión numérica al valor de una propiedad o variable numérica y asigna el resultado a la variable o a la propiedad. También se puede utilizar para concatenar una expresión String con una propiedad o variable String y asignar el resultado a la variable o a la propiedad.

Operador -= : Sustrae el valor de una expresión del valor de una variable o propiedad y asigna el resultado a la variable o propiedad.

Operador <<= : Realiza un desplazamiento aritmético a la izquierda sobre el valor de una variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.

Operador >>= : Realiza un desplazamiento aritmético a la derecha sobre el valor de una variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.

Operador &= : Concatena una expresión String a una variable o propiedad String y asigna el resultado a la variable o propiedad.

(34)

METODOS PARA LA ASIGNACION

Existen tres métodos para dar valor a una variable: • Leer un valor de un archivo

• Pedir al usuario que teclee un valor • Asignar un valor dentro de un programa

Al tercer método corresponde la instrucción de asignación. La sintaxis general de la instrucción de asignación es: nombre_de_la_variable = valor

El valor a la derecha del signo igual puede ser una constante, otra variable o una expresión que combine constantes y variables, pero siempre la variable y su valor deben ser del mismo tipo de dato.

Ejemplos:

edad% = 5 area! = 12.3

nombre$ = “Pedro”

Si el tipo de dato del valor no coincide con el tipo de dato declarado para la variable, se producirá un error durante la ejecución del programa (Run-time error ‘13’: Type

Mismatch). NOTA

Nótese que el valor asignado a una variable del tipo string en VB consiste en una cadena de caracteres encerrada entre comillas. Una cadena de caracteres puede eventualmente estar formada por un solo carácter.

La instrucción de asignación es destructiva; esto significa que si antes de la asignación la variable tiene algún valor, éste se pierde al ejecutarse la instrucción de asignación.

(35)

Elementos de programación elegibles

El elemento de programación del lado izquierdo del operador de asignación debe poder aceptar y almacenar un valor. Esto significa que debe ser una variable o propiedad que no es ReadOnly (Visual Basic), o debe ser un elemento de matriz. En el contexto de una instrucción de asignación, este tipo de elemento a veces se denomina valor l, que significa "valor de la izquierda".

El valor del lado derecho del operador de asignación se genera mediante una expresión que puede estar formada por cualquier combinación de literales, constantes, variables,

propiedades, elementos de matriz, otras expresiones o llamadas a función. Tipos de datos en instrucciones de asignación

Además de valores numéricos, el operador de asignación también puede asignar valores String.

También se pueden asignar valores Boolean utilizando un literal Boolean o una expresión Boolean.

Igualmente, se pueden asignar valores adecuados a elementos de programación del tipo de datos Char, Date u Object. También se puede asignar una instancia de objeto a un elemento declarado como miembro de la clase a partir de la que se crea esa instancia.

Instrucciones de asignación compuesta

Las instrucciones de asignación compuesta realizan primero una operación en una expresión antes de asignarla a un elemento de programación. En el siguiente ejemplo se muestra uno de estos operadores, +=, que incrementa el valor de la variable del lado izquierdo del operador con el valor de la expresión de la derecha.

Mediante el uso de este tipo de operadores, puede realizarse una serie de operaciones de asignación compuestas. Para obtener una lista de estos operadores y más información sobre ellos, vea Operadores de asignación.

El operador de asignación de concatenación (&=) es útil para agregar una cadena al final de cadenas existentes.

Conversiones de tipos en instrucciones de asignación El valor que se asigna a una variable, propiedad o elemento de matriz debe ser de un tipo de datos apropiado para el elemento de destino. En general, hay que intentar generar un valor del mismo tipo de datos que el del elemento de destino. Sin embargo, algunos tipos se pueden convertir en otros tipos durante la asignación.

(36)

Las conversiones de restricción (las que no son de ampliación) conllevan el riesgo de error o de pérdida de datos en tiempo de ejecución. Las conversiones de restricción se pueden realizar explícitamente mediante una función de conversión de tipos, o se puede indicar al compilador que realice implícitamente todas las conversiones estableciendo Option Strict Off. Para obtener más información, vea Conversiones implícitas y explícitas.

Clases de Instrucciones

Las instrucciones de asignación, en las que se evalua una expresión sobre variables y constantes del lenguaje, y el resulatado se asigna en una variable

Las instrucciones de control de flujo como las instrucciones IF-THEN-ELSE,en donde se selecciona las instrucciones a realizar en función del resultado de una expresión lógica

Sub Pregunta()

Dim suNombre As String

suNombre = InputBox("¿Cómo se llama?") MsgBox "Su nombre es " & suNombre End Sub

La instrucción Let es opcional y normalmente se omite. Por ejemplo, la instrucción de asignación anterior podría haberse escrito así: Let suNombre = InputBox("¿Cómo se llama?"). La instrucción Set se utiliza para asignar un objeto a una variable que ha sido declarada como objeto. La palabra clave Set es necesaria. En el siguiente ejemplo, la instrucción Set asigna un rango de Hoja1 a la variable de objeto miCelda:

Sub DarFormato() Dim miCelda As Range

Set miCelda = Worksheets("Hoja1").Range("A1") With miCelda.Font

.Bold = True .Italic =true End With

End Sub

Las instrucciones que establecen valores propiedad son también instrucciones de asignación. El siguiente ejemplo asigna la propiedad Bold del objeto Font para la celda activa: ActiveCell.Font.Bold = True

En Visual Basic, una instrucción es una comando completo que puede contener palabras clave, operadores, variables, constantes y expresiones. Las instrucciones se clasifican en dos categorías: instrucciones de declaración, que asignan nombre a una variable, constante o procedimiento, y también pueden especificar un tipo de datos, e instrucciones ejecutables, que inician acciones

(37)

Una instrucción de asignación asigna el valor de una expresión a una variable. En general, si la variable que se va a asignar es una propiedad, la propiedad debe ser de lectura y escritura o de sólo escritura; en caso contrario, se produce un error de compilación. Si la variable es una variable de sólo lectura, la asignación debe producirse en un

constructor Shared o un constructor de instancia apropiado para el tipo de la variable; en caso contrario, se producirá un error de compilación.

AssignmentStatement

SimpleAssignmentStatement DelegateAssignmentStatement CompoundAssignmentStatement MidAssignmentStatement

Realizan operaciones de asignación, que consisten en tomar el valor de la derecha del operador de asignación (=) y almacenarlo en

el elemento de la izquierda, como en el ejemplo siguiente. Ejemplo: a = 43

En el ejemplo anterior, la instrucción de asignación almacena el valor literal 43 en la variable a.

En las instrucciones de asiganacion constan de tres metodos para dar valores a una variable: 1. Leer el valor de un archivo 2. Pedir al usuario que ingrese un valor mediante teclado 3. Asiganr el valor dentro del programa

Tipos de datos en instrucciones de asignación

Además de valores numéricos, el operador de asignación también puede asignar valores String, tal como muestra el ejemplo siguiente.

Dim a, b As String

a = "String variable assignment" b = "Con" & "cat" & "enation"

' The preceding statement assigns the value "Concatenation" to b.

También se pueden asignar valores Boolean utilizando un literal Boolean o una expresión Boolean, tal como muestra el ejemplo siguiente.

(38)

Dim r, s, t As Boolean r = True

s = 45 > 1003

t = 45 > 1003 Or 45 > 17

' The preceding statements assign False to s and True to t.

Igualmente, se pueden asignar valores adecuados a elementos de programación del tipo de datos Char, Date u Object. También se puede asignar una instancia de objeto a un elemento declarado como miembro de la clase a partir de la que se crea esa instancia.

Instrucciones de asignaciones simples

Una instrucción de asignación almacena el resultado de una expresión en una variable. El tipo de la expresión debe poder convertirse implícitamente en el tipo de la variable. En el tiempo de ejecución, se evalúa la expresión a la derecha de la asignación antes de la

expresión de variable. Si la variable que se va a asignar es un elemento de matriz de un tipo de referencia, se realizará una comprobación en tiempo de ejecución para garantizar que la expresión es compatible con el tipo de elemento de matriz. En el ejemplo siguiente, la última asignación provoca el inicio de una excepción ArrayTypeMismatchException, porque no se puede almacenar una instancia de ArrayList en un elemento de una matriz String. Ejemplo

Dim sa(10) As String Dim oa As Object() = sa oa(0) = Nothing ' OK. oa(1) = "Hello" ' OK.

oa(2) = New ArrayList() ' ArrayTypeMismatchException is thrown.

Instrucciones de asignación compuesta

Las instrucciones de asignación compuesta realizan primero una operación en una expresión antes de asignarla a un elemento de programación. En el siguiente ejemplo se muestra uno de estos operadores, +=, que incrementa el valor de la variable del lado izquierdo del operador con el valor de la expresión de la derecha.

(39)

n += 1

En el ejemplo anterior se suma 1 al valor de n y, a continuación, el nuevo valor se almacena en n. Es el equivalente abreviado de la siguiente instrucción:

n = n + 1

Mediante el uso de este tipo de operadores, puede realizarse una serie de operaciones de asignación compuestas. Para obtener una lista de estos operadores y más información sobre ellos, vea Operadores de asignación.

El operador de asignación de concatenación (&=) es útil para agregar una cadena al final de cadenas existentes, como se muestra en este ejemplo.

Dim q As String = "Sample " q &= "String"

' q now contains "Sample String".

Conversiones de tipos en instrucciones de asignación

El valor que se asigna a una variable, propiedad o elemento de matriz debe ser de un tipo de datos apropiado para el elemento de destino. En general, hay que intentar generar un valor del mismo tipo de datos que el del elemento de destino. Sin embargo, algunos tipos se pueden convertir en otros tipos durante la asignación.

Para obtener información sobre cómo convertir entre tipos de datos, vea Conversiones de tipos en Visual Basic. En pocas palabras, Visual Basic convierte automáticamente un valor de un tipo dado en cualquier otro tipo al que amplia. Una conversión de ampliación es aquella que siempre se produce en tiempo de ejecución y no pierde datos. Por ejemplo, Visual Basic convierte un valor Integer en Double cuando es apropiado, porque Integer se amplia a Double. Para obtener más información, vea Conversiones de ampliación y de restricción.

Las instrucciones de asignación realizan operaciones de asignación, que consisten en tomar el valor de la derecha del operador de asignación (=) y almacenarlo en el elemento de la izquierda, como en el ejemplo siguiente. El elemento de programación del lado izquierdo del operador de asignación debe poder aceptar y almacenar un valor. Esto significa que debe ser una variable o propiedad que no es ReadOnly (Visual Basic), o debe ser un elemento de matriz. En el contexto de una instrucción de asignación, este tipo de elemento a veces se denomina valor l, que significa "valor de la izquierda".

(40)

Instrucciones Ejecutables

Una instrucción ejecutable realiza una acción. Puede llamar a un procedimiento, bifurcar a otra parte del código, recorrer varias instrucciones con un bucle o evaluar una expresión. Una instrucción de asignación es un caso especial de una instrucción ejecutable.

Una instrucción ejecutable inicia una acción. Puede ejecutar un método o función y saltar a bloques de código o no ejecutar otros. Las instrucciones ejecutables incluyen a menudo operadores condicionales o matemáticos.

El siguiente ejemplo que veremos a continuacion utiliza utiliza la instrucción For Each...Next para pasar por cada una de las celdas de un rango llamado MiIntervalo en la Hoja1 de un libro Microsoft Excel activo. La variable c es una celda en la colección de celdas que componen MiIntervalo...

ejemplo de uina instruccion ejecutable:

Sub DarFormato()

Const limite As Integer = 33

For Each c In Worksheets("Hoja1").Range("MiIntervalo").Cells If c.Value > limite Then

With c.Font .Bold = True .Italic = True End With End If Next c MsgBox "¡Fin!" End Sub

Otro ejemplo de una instruccion ejectutable

Public Sub startWidget(ByVal aWidget As widget, _

ByVal clockwise As Boolean, ByVal revolutions As Integer) Dim counter As Integer

If clockwise = True Then

For counter = 1 To revolutions aWidget.spinClockwise() Next counter

Else

For counter = 1 To revolutions aWidget.spinCounterClockwise() Next counter

End If End Sub

Referencias

Documento similar

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y