SlideShare una empresa de Scribd logo
1 de 21
Interfaz gráfica de usuario
 Variables globales
 Generalidades formularios
 Manipulación de datos
 Botones de opción
 Uso de imágenes
 Ejercicios de estudio
Variables globales
Consideraremos variable global, a una variable que esta
disponible (compartida) en los diferentes ámbitos del
programa (espacio adentro de cada subrutina o función).
Para declarar una variable global, basta con declararla al
principio del código.
Se recomienda el uso de las palabras reservadas “Option
Explicit” para obligar a VBA a validar la declaración correcta de
todas las variables que use la aplicación
Variables globales
Option Explicit
Dim contador As Integer
Private Sub cmdBoton1_Click()
contador = contador + 1
End Sub
Private Sub cmdBoton2_Click()
contador = contador - 1
End Sub
La variable contador es global en el programa, por tanto su valor puede ser modificado
en dos subrutinas diferentes.
Generalidades formularios
 Un formulario es la ventana contenedora de las
aplicaciones que usan interfaz gráfica.
 Se recomienda cambiar la propiedad Caption para que
la ventana de la aplicación tenga un nombre que
represente el programa.
 Se recomienda cambiar la propiedad Name para que
el formulario tenga un nombre de variable adecuado.
(ej: frmJuego)
Generalidades formularios
 Se recomienda el uso de la subrutina Initialize, para
asignar valores por defecto que va a tener el
formulario al principio de la ejecución del programa.
De tal forma que cada vez que se ejecute el programa
inicialice con estos valores. Por lo general en esta
subrutina se inicializan las variables globales.
Generalidades formularios
Option Explicit
Dim numeroVidas as Integer
Private Sub UserForm_Initialize()
numeroVidas = 3
End Sub
La variable global vidas, se inicializa en la subrutina
UserForm_Initialize, de tal forma que cada que se ejecuta el
programa el número de vidas siempre será 3.
Manipulación de datos
Es importante recordar como se debe manipular los
datos de una aplicación que use interfaz gráfica.
 Los campos de texto (TextBox) y los mensajes
InputBox, siempre retornan valores de cadena con la
información que el usuario ingresa, por tanto siempre
se debe validar que las cadenas se puedan convertir a
número antes de realizar operaciones aritméticas.
Manipulación de datos
 Ejemplo InputBox
Dim str As String
str = InputBox("Ingrese un dato numérico")
If IsNumeric(str) Then
MsgBox "El dato es correcto, se puede operar"
Else
MsgBox "El dato no se puede operar aritméticamente"
End If
Manipulación de datos
 Ejemplo textbox
If IsNumeric(txtCampo.Text) Then
MsgBox "El dato es correcto, se puede operar“
Else
MsgBox "El dato no se puede operar aritméticamente"
End If
Botones de opción
 El botón de opción o optionButton, es un elemento
gráfico que permite crear una selección mutuamente
excluyente en el programa. Se usa para controlar el
modo de ejecución o de habilitar o deshabilitar opciones
dentro del programa. Es un componente de selección
única.
Botones de opción
 Gráficamente, este control se ve así
Normalmente este elemento se relaciona con dos o más
elementos del mismo tipo, para crear un grupo de
opciones mutuamente excluyentes.
Botones de opción
 Además para poder lograr que la selección del elemento
cambie al seleccionar otro botón de opción, se debe
vincular cada elemento con un grupo. Para hacer esto se
debe asignar el mismo nombre a la propiedad GroupName.
Botones de opción
 Si se vinculan todos los campos de selección correctamente al
grupo, al probar el programa, se debe pasar la selección entre los
diferentes botones de opción, al hacer clic sobre cada uno. Es
posible controlar las acciones en el programa, asociando una
subrutina que atienda el evento clic sobre cada control, así:
Private Sub optOpcion1_Click()
‘código al seleccionar el botón de opción
End Sub
Además es posible conocer el valor seleccionado de cada botón de
opción por medio de la propiedad value.
Imágenes
 Ruta absoluta: Es la ubicación de un recurso, respecto a la
raíz del sistema de archivos del sistema operativo. Ejemplo:
C:UsersUsuarioPictureslogo.jpg
 Ruta relativa: Es la ubicación de un recurso respecto a la
carpeta actual. Ejemplo: “imágenes/logo.jpg”
Nota: Se recomienda usar siempre la ruta relativa, para que el
programa funcione correctamente independiente de la
ubicación de los archivos.
Imágenes
 Para usar imágenes en la aplicación, se recomienda usar
el elemento Image. Para tal fin se debe dibujar el
elemento en el formulario y asignar el valor del ancho y
del alto (width, height).
 Para cambiar el valor de la imagen en tiempo de
ejecución, se debe usar la propiedad Picture, pasando la
ruta relativa donde esta ubicada la imagen.
Imágenes
Cambio de la imagen que se muestra en el contenedor image.
Option Explicit
Dim contador As Integer
Private Sub CommandButton1_Click()
Dim temp as String
temp = "imagenes/img_0" & contador & ".jpg"
contador = contador + 1
If contador <7 then
imgImagen.Picture = LoadPicture(temp)
End if
End Sub
Cada que se presiona el botón, se cambia la imagen del control imgImagen. Se tiene en total 7
imágenes con un nombre secuencial con el prefijo img_0 y con extensión .jpg, así: img_01.jpg.
Imágenes
El siguiente código permite cambiar la imagen usando una subrutina que recibe un
parámetro que es el nombre de la imagen
Sub CambiarRuta(imagen)
Dim ruta As String
ruta = ThisWorkbook.Path & Application.PathSeparator_
& "imagenes" & Application.PathSeparator & imagen
imgEmoji.Picture = LoadPicture(ruta)
End Sub
Para invocar la rutina se usa
Private Sub optOpcion1_Click()
CambiarRuta ("Google-Noto-Emoji-Smileys-10029-face-with-rolling-eyes.ico")
End Sub
Imágenes
Recomendaciones para usar correctamente imágenes en un programa:
 Crear una secuencia de imágenes que tengan las mismas dimensiones de
alto y ancho, si las imágenes se van a sobreponer.
 Mantener la proporción del ancho respecto al alto, para evitar que la imagen
se deforme.
 Nombrar cada imagen con un nombre secuencia, sin caracteres especiales o
espacios.
 Ubicar las imágenes en una carpeta, en la misma carpeta del programa.
Ejercicios
 Realizar un programa que por medio de interfaz grafica
permita pedir un número n, y muestre en un MsgBox el
resultado de la suma de 0 hasta n, el promedio y la
respuesta invertida en un campo de texto.
 Usar un grupo de dos botones de opción, para seleccionar
el modo de conversión. (binario o decimal) y al cambiar de
selección se debe convertir un valor numérico presente en
un campo de texto.
Ejercicios
 Crear un programa que permita calcular la suma de dos
vectores de dimensión 3, representados en 6 campos de
texto.
 Escribir un programa que permita realizar conversiones
entre unidades de distancia.
 Escribir un programa que permita Eliminar los dígitos del 0
al 9 presentes en una cadena.

Más contenido relacionado

La actualidad más candente

Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y SolucionesVideoconferencias UTPL
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosJaro
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Las tablas de frecuencia
Las tablas de frecuenciaLas tablas de frecuencia
Las tablas de frecuenciaCesar Glez
 
El muestreo. Unidad para 1º de Bachillerato
El muestreo. Unidad para 1º de BachilleratoEl muestreo. Unidad para 1º de Bachillerato
El muestreo. Unidad para 1º de Bachilleratoanaruiz91
 
Ciro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdf
Ciro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdfCiro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdf
Ciro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdffelpechilcavasquez
 
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Cristina Zavala Palacios
 
Ejercicios de grafos
Ejercicios de grafosEjercicios de grafos
Ejercicios de grafosTere Suarez
 
Cap. 2 gradiente aritmético
Cap. 2 gradiente aritméticoCap. 2 gradiente aritmético
Cap. 2 gradiente aritméticotatyanasaltos
 
Pensamiento Científico Matemáticas y Estadística
Pensamiento Científico Matemáticas y EstadísticaPensamiento Científico Matemáticas y Estadística
Pensamiento Científico Matemáticas y EstadísticaBrian Bastidas
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y primfher969
 

La actualidad más candente (20)

Estadistica 1
Estadistica 1Estadistica 1
Estadistica 1
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y Soluciones
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Redes y demanda de transporte
Redes y demanda de transporteRedes y demanda de transporte
Redes y demanda de transporte
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Las tablas de frecuencia
Las tablas de frecuenciaLas tablas de frecuencia
Las tablas de frecuencia
 
El muestreo. Unidad para 1º de Bachillerato
El muestreo. Unidad para 1º de BachilleratoEl muestreo. Unidad para 1º de Bachillerato
El muestreo. Unidad para 1º de Bachillerato
 
Grafos resueltos
Grafos  resueltosGrafos  resueltos
Grafos resueltos
 
Ciro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdf
Ciro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdfCiro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdf
Ciro Martínez Bencardino - Estadística y muestreo-Ecoe Ediciones (2019) (1).pdf
 
Unidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatasUnidad 7 lenguajes gramaticas y automatas
Unidad 7 lenguajes gramaticas y automatas
 
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
Unidad III: GENERACION DE NUMEROS ALEATORIOS (SIMULACIÓN)
 
Estadística inferencial
Estadística inferencialEstadística inferencial
Estadística inferencial
 
Ejercicios de Modelo de Redes
Ejercicios de Modelo de RedesEjercicios de Modelo de Redes
Ejercicios de Modelo de Redes
 
Ejercicios de grafos
Ejercicios de grafosEjercicios de grafos
Ejercicios de grafos
 
Teorema De Bayes
Teorema De BayesTeorema De Bayes
Teorema De Bayes
 
Cadena de markov
Cadena de markovCadena de markov
Cadena de markov
 
Cap. 2 gradiente aritmético
Cap. 2 gradiente aritméticoCap. 2 gradiente aritmético
Cap. 2 gradiente aritmético
 
34. estadistica descriptiva
34. estadistica descriptiva34. estadistica descriptiva
34. estadistica descriptiva
 
Pensamiento Científico Matemáticas y Estadística
Pensamiento Científico Matemáticas y EstadísticaPensamiento Científico Matemáticas y Estadística
Pensamiento Científico Matemáticas y Estadística
 
Algoritmos de kruskal y prim
Algoritmos de kruskal y primAlgoritmos de kruskal y prim
Algoritmos de kruskal y prim
 

Similar a VBA Interfaz de usuario

Presentación interfaz gráfica_matlab
Presentación interfaz gráfica_matlabPresentación interfaz gráfica_matlab
Presentación interfaz gráfica_matlabXavier Maita
 
DIAPOSITIVA - GUIDE.pptx-----------------------------
DIAPOSITIVA - GUIDE.pptx-----------------------------DIAPOSITIVA - GUIDE.pptx-----------------------------
DIAPOSITIVA - GUIDE.pptx-----------------------------jorgejvc777
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoAndres Bedoya Tobon
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosRaymond Marquina
 
2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlabCarlos Yagamy
 
Elementos Básicos en Delphi 7
Elementos Básicos en Delphi 7Elementos Básicos en Delphi 7
Elementos Básicos en Delphi 7luis_ipb
 
Modulos y funciones en VBA
Modulos y funciones en VBAModulos y funciones en VBA
Modulos y funciones en VBAprofecesde
 
Clases De Objetos Principales De As3
Clases De Objetos Principales De As3Clases De Objetos Principales De As3
Clases De Objetos Principales De As3Andres Garcia
 
GUI EN MATLAB MODULACION PULSO UNICO
GUI EN MATLAB MODULACION PULSO UNICOGUI EN MATLAB MODULACION PULSO UNICO
GUI EN MATLAB MODULACION PULSO UNICOCristhian Fernandez
 
Tema vi guia de c
Tema vi guia de cTema vi guia de c
Tema vi guia de cMaye Re
 
Herramientas y Desarrollo de Software
Herramientas y Desarrollo de SoftwareHerramientas y Desarrollo de Software
Herramientas y Desarrollo de SoftwareCristina1139
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representaciónBenjamin Medina Ramirez
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlabguestdb8ea2b
 

Similar a VBA Interfaz de usuario (20)

Presentación interfaz gráfica_matlab
Presentación interfaz gráfica_matlabPresentación interfaz gráfica_matlab
Presentación interfaz gráfica_matlab
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Graficas matlab
Graficas matlabGraficas matlab
Graficas matlab
 
Visual basic 1º Año
Visual basic  1º AñoVisual basic  1º Año
Visual basic 1º Año
 
DIAPOSITIVA - GUIDE.pptx-----------------------------
DIAPOSITIVA - GUIDE.pptx-----------------------------DIAPOSITIVA - GUIDE.pptx-----------------------------
DIAPOSITIVA - GUIDE.pptx-----------------------------
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab
 
Elementos Básicos en Delphi 7
Elementos Básicos en Delphi 7Elementos Básicos en Delphi 7
Elementos Básicos en Delphi 7
 
Modulos y funciones en VBA
Modulos y funciones en VBAModulos y funciones en VBA
Modulos y funciones en VBA
 
Clases De Objetos Principales De As3
Clases De Objetos Principales De As3Clases De Objetos Principales De As3
Clases De Objetos Principales De As3
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
GUI EN MATLAB MODULACION PULSO UNICO
GUI EN MATLAB MODULACION PULSO UNICOGUI EN MATLAB MODULACION PULSO UNICO
GUI EN MATLAB MODULACION PULSO UNICO
 
Tema vi guia de c
Tema vi guia de cTema vi guia de c
Tema vi guia de c
 
Herramientas y Desarrollo de Software
Herramientas y Desarrollo de SoftwareHerramientas y Desarrollo de Software
Herramientas y Desarrollo de Software
 
Estructuras algoritmicas representación
Estructuras algoritmicas representaciónEstructuras algoritmicas representación
Estructuras algoritmicas representación
 
Mini Tutorial De Matlab
Mini Tutorial De MatlabMini Tutorial De Matlab
Mini Tutorial De Matlab
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 

Más de Andres Bedoya Tobon

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfacesAndres Bedoya Tobon
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelAndres Bedoya Tobon
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestAndres Bedoya Tobon
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructoresAndres Bedoya Tobon
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionalesAndres Bedoya Tobon
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - ExcelAndres Bedoya Tobon
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetosAndres Bedoya Tobon
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Andres Bedoya Tobon
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referenciaAndres Bedoya Tobon
 

Más de Andres Bedoya Tobon (20)

Enums, constantes, listas e interfaces
Enums, constantes, listas e interfacesEnums, constantes, listas e interfaces
Enums, constantes, listas e interfaces
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - Excel
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech Fest
 
04 curso poo Herencia
04 curso poo Herencia04 curso poo Herencia
04 curso poo Herencia
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores
 
02 curso poo Clase - Objeto
02 curso poo Clase - Objeto02 curso poo Clase - Objeto
02 curso poo Clase - Objeto
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
 
Elementos de programacion 02
Elementos de programacion 02Elementos de programacion 02
Elementos de programacion 02
 
Taller de estudio - Excel
Taller de estudio - ExcelTaller de estudio - Excel
Taller de estudio - Excel
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - Excel
 
Automatizar tareas usando GAP
Automatizar tareas usando GAPAutomatizar tareas usando GAP
Automatizar tareas usando GAP
 
Pull request - Hacktoberfest
Pull request - Hacktoberfest Pull request - Hacktoberfest
Pull request - Hacktoberfest
 
Abc tipografico Medellin CSS
Abc tipografico Medellin CSSAbc tipografico Medellin CSS
Abc tipografico Medellin CSS
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetos
 
Clean code
Clean codeClean code
Clean code
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referencia
 
Presentación 12 Paso por copia
Presentación 12 Paso por copiaPresentación 12 Paso por copia
Presentación 12 Paso por copia
 

Último

PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptxCamuchaCrdovaAlonso
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxMaria Jimena Leon Malharro
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...rosalindatellodelagu
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
LA JUNGLA DE COLORES.pptx Cuento de animales
LA JUNGLA DE COLORES.pptx  Cuento de animalesLA JUNGLA DE COLORES.pptx  Cuento de animales
LA JUNGLA DE COLORES.pptx Cuento de animalesanllamas
 

Último (20)

PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
LA JUNGLA DE COLORES.pptx Cuento de animales
LA JUNGLA DE COLORES.pptx  Cuento de animalesLA JUNGLA DE COLORES.pptx  Cuento de animales
LA JUNGLA DE COLORES.pptx Cuento de animales
 

VBA Interfaz de usuario

  • 1.
  • 2. Interfaz gráfica de usuario  Variables globales  Generalidades formularios  Manipulación de datos  Botones de opción  Uso de imágenes  Ejercicios de estudio
  • 3. Variables globales Consideraremos variable global, a una variable que esta disponible (compartida) en los diferentes ámbitos del programa (espacio adentro de cada subrutina o función). Para declarar una variable global, basta con declararla al principio del código. Se recomienda el uso de las palabras reservadas “Option Explicit” para obligar a VBA a validar la declaración correcta de todas las variables que use la aplicación
  • 4. Variables globales Option Explicit Dim contador As Integer Private Sub cmdBoton1_Click() contador = contador + 1 End Sub Private Sub cmdBoton2_Click() contador = contador - 1 End Sub La variable contador es global en el programa, por tanto su valor puede ser modificado en dos subrutinas diferentes.
  • 5. Generalidades formularios  Un formulario es la ventana contenedora de las aplicaciones que usan interfaz gráfica.  Se recomienda cambiar la propiedad Caption para que la ventana de la aplicación tenga un nombre que represente el programa.  Se recomienda cambiar la propiedad Name para que el formulario tenga un nombre de variable adecuado. (ej: frmJuego)
  • 6. Generalidades formularios  Se recomienda el uso de la subrutina Initialize, para asignar valores por defecto que va a tener el formulario al principio de la ejecución del programa. De tal forma que cada vez que se ejecute el programa inicialice con estos valores. Por lo general en esta subrutina se inicializan las variables globales.
  • 7. Generalidades formularios Option Explicit Dim numeroVidas as Integer Private Sub UserForm_Initialize() numeroVidas = 3 End Sub La variable global vidas, se inicializa en la subrutina UserForm_Initialize, de tal forma que cada que se ejecuta el programa el número de vidas siempre será 3.
  • 8. Manipulación de datos Es importante recordar como se debe manipular los datos de una aplicación que use interfaz gráfica.  Los campos de texto (TextBox) y los mensajes InputBox, siempre retornan valores de cadena con la información que el usuario ingresa, por tanto siempre se debe validar que las cadenas se puedan convertir a número antes de realizar operaciones aritméticas.
  • 9. Manipulación de datos  Ejemplo InputBox Dim str As String str = InputBox("Ingrese un dato numérico") If IsNumeric(str) Then MsgBox "El dato es correcto, se puede operar" Else MsgBox "El dato no se puede operar aritméticamente" End If
  • 10. Manipulación de datos  Ejemplo textbox If IsNumeric(txtCampo.Text) Then MsgBox "El dato es correcto, se puede operar“ Else MsgBox "El dato no se puede operar aritméticamente" End If
  • 11. Botones de opción  El botón de opción o optionButton, es un elemento gráfico que permite crear una selección mutuamente excluyente en el programa. Se usa para controlar el modo de ejecución o de habilitar o deshabilitar opciones dentro del programa. Es un componente de selección única.
  • 12. Botones de opción  Gráficamente, este control se ve así Normalmente este elemento se relaciona con dos o más elementos del mismo tipo, para crear un grupo de opciones mutuamente excluyentes.
  • 13. Botones de opción  Además para poder lograr que la selección del elemento cambie al seleccionar otro botón de opción, se debe vincular cada elemento con un grupo. Para hacer esto se debe asignar el mismo nombre a la propiedad GroupName.
  • 14. Botones de opción  Si se vinculan todos los campos de selección correctamente al grupo, al probar el programa, se debe pasar la selección entre los diferentes botones de opción, al hacer clic sobre cada uno. Es posible controlar las acciones en el programa, asociando una subrutina que atienda el evento clic sobre cada control, así: Private Sub optOpcion1_Click() ‘código al seleccionar el botón de opción End Sub Además es posible conocer el valor seleccionado de cada botón de opción por medio de la propiedad value.
  • 15. Imágenes  Ruta absoluta: Es la ubicación de un recurso, respecto a la raíz del sistema de archivos del sistema operativo. Ejemplo: C:UsersUsuarioPictureslogo.jpg  Ruta relativa: Es la ubicación de un recurso respecto a la carpeta actual. Ejemplo: “imágenes/logo.jpg” Nota: Se recomienda usar siempre la ruta relativa, para que el programa funcione correctamente independiente de la ubicación de los archivos.
  • 16. Imágenes  Para usar imágenes en la aplicación, se recomienda usar el elemento Image. Para tal fin se debe dibujar el elemento en el formulario y asignar el valor del ancho y del alto (width, height).  Para cambiar el valor de la imagen en tiempo de ejecución, se debe usar la propiedad Picture, pasando la ruta relativa donde esta ubicada la imagen.
  • 17. Imágenes Cambio de la imagen que se muestra en el contenedor image. Option Explicit Dim contador As Integer Private Sub CommandButton1_Click() Dim temp as String temp = "imagenes/img_0" & contador & ".jpg" contador = contador + 1 If contador <7 then imgImagen.Picture = LoadPicture(temp) End if End Sub Cada que se presiona el botón, se cambia la imagen del control imgImagen. Se tiene en total 7 imágenes con un nombre secuencial con el prefijo img_0 y con extensión .jpg, así: img_01.jpg.
  • 18. Imágenes El siguiente código permite cambiar la imagen usando una subrutina que recibe un parámetro que es el nombre de la imagen Sub CambiarRuta(imagen) Dim ruta As String ruta = ThisWorkbook.Path & Application.PathSeparator_ & "imagenes" & Application.PathSeparator & imagen imgEmoji.Picture = LoadPicture(ruta) End Sub Para invocar la rutina se usa Private Sub optOpcion1_Click() CambiarRuta ("Google-Noto-Emoji-Smileys-10029-face-with-rolling-eyes.ico") End Sub
  • 19. Imágenes Recomendaciones para usar correctamente imágenes en un programa:  Crear una secuencia de imágenes que tengan las mismas dimensiones de alto y ancho, si las imágenes se van a sobreponer.  Mantener la proporción del ancho respecto al alto, para evitar que la imagen se deforme.  Nombrar cada imagen con un nombre secuencia, sin caracteres especiales o espacios.  Ubicar las imágenes en una carpeta, en la misma carpeta del programa.
  • 20. Ejercicios  Realizar un programa que por medio de interfaz grafica permita pedir un número n, y muestre en un MsgBox el resultado de la suma de 0 hasta n, el promedio y la respuesta invertida en un campo de texto.  Usar un grupo de dos botones de opción, para seleccionar el modo de conversión. (binario o decimal) y al cambiar de selección se debe convertir un valor numérico presente en un campo de texto.
  • 21. Ejercicios  Crear un programa que permita calcular la suma de dos vectores de dimensión 3, representados en 6 campos de texto.  Escribir un programa que permita realizar conversiones entre unidades de distancia.  Escribir un programa que permita Eliminar los dígitos del 0 al 9 presentes en una cadena.