Publicado el 24 de Julio del 2019
2.359 visualizaciones desde el 24 de Julio del 2019
28,8 KB
2 paginas
Creado hace 14a (25/10/2011)
Programación de Código en Visual Basic for Applications (VBA)
Programación en Visual Basic · 1 de 2
' <-- Después de una comilla simple todo es un Comentario aclaratorio y aparece en verde.
' Fuerza la Declaración explícita de Variables con Dim.
' Indica el índice base de los arrays. Por omisión 0.
' Especifica el método de Comparación de Textos en el módulo.
' Declara una Variable Global del Módulo de tipo Tipo.
' Declara una Variable Pública del Proyecto de tipo Tipo.
' Define un Tipo de Datos Personal en forma de Registro
' con varios campos del tipo deseado.
Option Explicit
Option Base 1
Option Compare {Binary | Text | Database}
Dim Variable1 As Tipo
Public Variable1 As Tipo
Type TipoPersonal
Campo1 As Tipo
Campo2 As Tipo
End Type
Sub NombreProcedimiento(ByVal Arg1 As Tipo, ByRef Arg2 As Tipo, Optional ByRef Arg3opc As Variant)
End Sub
Function NombreFunción(ByVal Arg1 As Tipo, ByRef Arg2 As Tipo, Optional ByRef Arg3opc As Variant) As Tipo
End Function
' Declara una Constante y le asigna el valor Valor.
' Declara una Variable Local de tipo Tipo.
' Declara un Array de 5 x 8 datos del tipo Tipo. Hasta 60 dimensiones.
' Declara un Array de 5 datos (del 3 al 7) del tipo Tipo.
' Asigna Valor al elemento (3,7) del array Array1.
' Asigna a Variable1 lo que devuelve NombreFunción.
' Asigna una Referencia de Objeto a una Variable o Propiedad
' Ejecuta el Procedimiento NombreProcedimiento2.
' Ejecuta el Procedimiento NombreProcedimiento2.
' El Espacio + Subrayado sirve para continuar en la línea siguiente.
' Y los (:) para escribir varias instrucciones en la misma línea.
Const Constante1 As Tipo = Valor
Dim Variable1 As Tipo
Dim Array1(5, 8) As Tipo
Dim Array1(3 to 7) As Tipo
Array1(3,7) = Valor
Variable1 = NombreFunción(Arg1, Arg2)
Set Var_Objeto = {[New] Objeto | Nothing}
Call NombreProcedimiento2(Arg1, Arg2)
NombreProcedimiento2 Arg1, Arg2
Instrucción : Otra Instrucción más larga _
Instrucciones y Cálculos necesarios para obtener una Expresión_Resultado ....
NombreFunción = Expresión_Resultado
' La Función NombreFunción devolverá Expresión_Resultado.
que no cabe en la línea anterior
Tipos de Datos
Rango del Contenido
True / False
1 byte / carácter + 10 bytes de cabecera. Hasta 2.000 millones de caracteres (2 Gb).
0…..255
-32.768…..32.767
Nombre
Tamaño Contenido
Boolean
2 bytes
String
1 byte Cadena
Byte
1 byte Bytes
Integer
2 bytes Enteros
Enteros
Long
4 bytes Enteros largos -2.147.483.648…..2.147.483.647
Single
4 bytes Reales
Double
8 bytes Reales
Currency 8 bytes Moneda
Decimal 14 bytes Reales largos +/-79.228.162.514.264.337.593.543.950.335 (29 ó 1 + 28)
Date
Object
Variant
( -657.434.....2.958.465 )
Almacena cualquier referencia a un objeto de Excel.
El tipo por defecto si no se especifica otro. (Admite cualquiera de los anteriores).
Simple Precisión en coma flotante. 1,401298E-45…..3,402823E38 (7 dígitos)
Doble Precisión en coma flotante. 4,94065645841247E-324…..1,79769313486232E308
-922.337.203.685.477,5808.....922.337.203.685.477,5807 (922 Billones) (15 + 4)
8 bytes Fecha y Hora 1/1/100.....31/12/9999
4 bytes Objeto
16 bytes Variante
__________________________________________________________________________________________________________________________
© 2001 Joaquín Caselles - Curso de Access Programación (Ver. 2.6 · Mayo 2010)
jjcaselles.com - vaccess.coninteres.es
Programación en Visual Basic · 2 de 2
Estructuras de Control de Flujo
(If)
Instrucciones Si Condición es Cierta
If Condición Then
Flujo Alternativo Condicional
1 If Condición Then Instruc. Si Condición Cierta : Otra Instr.
2 Else 'Cláusula Opcional
End If
Else
3
If Condición Then
Instrucciones Si Condición es Cierta
Instrucciones Si Condición es Falsa
If Condición 2 Then
Instrucciones Si Condición2 es Cierta
End If
Instrucciones Si Condición 1 es Cierta
If Condición 1 Then
Instrucciones Si Condición 1 es Falsa y
Condición 2 es Cierta
End If
ElseIf Condición 2 Then
4
End If
Flujo Alternativo Evaluativo
Select Case Expresión
Case Valor1
Case Valor2, Valor3
Instrucciones si Expresión = Valor2 ó Expresión = Valor3
Case 1 To 4, 9 : Instrucciones si Expresión = 1....4 ó 9
Case 5 To 8
Case Else
End Select
: Instrucciones si Expresión = Valor1
: Instrucciones si Expresión = 5....8
: Instrucciones Si Ninguno Anterior 'Opcional
(Select Case)
Una iteración para cada
elemento de la Colección
En cada iteración la variable se
incrementa lo que indique Step
Instrucciones mientras Condición sea Cierta
Bucle para Recorrer Colecciones (For Each)
For Each Elemento In Colección
Instrucciones
Next Elemento
Bucle de Repetición Conocida
(For Next)
For Contador = 1 To 100 Step 2 'Step es Opcional
Instrucciones
Next Contador
Bucles de Repetición Desconocida (Do Loop)
While Condición
0
Wend
Do While Condición
1
Loop
Do Until Condición
2
Loop
Do
3
Loop While Condición
Do
4
Loop Until Condición
Nota: La sintaxis nº 0 está en desuso a favor de las más
modernas 1 a 4 (do … loop). (La nº 0 es idéntica a la nº1)
Instruc. se repiten hasta que Condición Cierta
Instruc. se repiten mientras Condición Cierta
Instrucciones hasta que Condición sea Cierta
Instrucciones mientras Condición sea Cierta
Referencias Abreviadas
With Objeto
.Propiedad = Valor ' Idéntico a Objeto.Propiedad = Valor
With .SubObjeto
.Método = Valor ' Idéntico a Objeto.SubObjeto.Método = Valor
End With
End With
Nota: Una vez que se ha
entrado en un bloque With no
es posible cambiar el objeto.
Por tanto, no se puede utilizar
instrucción With
una única
para varios objetos.
__________________________________________________________________________________________________________________________
© 2001 Joaquín Caselles - Curso de Access Programación (Ver. 2.6 · Mayo 2010)
jjcaselles.com - vaccess.coninteres.es
Comentarios de: Programación de Código en Visual Basic for Applications (VBA) (1)