VBA
Creando un procedimiento
Buscar..
Introducción a los procedimientos.
Un Sub
es un procedimiento que realiza una tarea específica pero no devuelve un valor específico.
Sub ProcedureName ([argument_list])
[statements]
End Sub
Si no se especifica ningún modificador de acceso, un procedimiento es Public
por defecto.
Una Function
es un procedimiento que recibe datos y devuelve un valor, idealmente sin efectos secundarios globales o de alcance de módulo.
Function ProcedureName ([argument_list]) [As ReturnType]
[statements]
End Function
Una Property
es un procedimiento que encapsula los datos del módulo. Una propiedad puede tener hasta 3 accesores: Get
para devolver un valor o una referencia de objeto, Let
asignar un valor y / o Set
para asignar una referencia de objeto.
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
[statements]
End Property
Las propiedades generalmente se usan en módulos de clase (aunque también se permiten en módulos estándar), exponiendo el acceso a datos que de otra manera no son accesibles para el código que llama. Una propiedad que solo expone un acceso Get
es "solo lectura"; una propiedad que solo expondría un acceso Let
y / o Set
es "solo escritura". Las propiedades de solo escritura no se consideran una buena práctica de programación: si el código del cliente puede escribir un valor, debería poder leerlo nuevamente. Considere implementar un procedimiento Sub
en lugar de hacer una propiedad de solo escritura.
Devolviendo un valor
Un procedimiento de Property Get
Function
o Property Get
puede (¡y debería!) Devolver un valor a su interlocutor. Esto se hace asignando el identificador del procedimiento:
Property Get Foo() As Integer
Foo = 42
End Property
Funcionar con ejemplos
Como se indicó anteriormente, las funciones son procedimientos más pequeños que contienen piezas pequeñas de código que pueden ser repetitivas dentro de un procedimiento.
Las funciones se utilizan para reducir la redundancia en el código.
Similar a un procedimiento, una función puede ser declarada con o sin una lista de argumentos.
La función se declara como un tipo de retorno, ya que todas las funciones devuelven un valor. El nombre y la variable de retorno de una función son los mismos.
Función con parámetro:
Function check_even(i as integer) as boolean if (i mod 2) = 0 then check_even = True else check_even=False end if end Function
Función sin parámetro:
Function greet() as String greet= "Hello Coder!" end Function
La función puede ser llamada de varias maneras dentro de una función. Dado que una función declarada con un tipo de retorno es básicamente una variable. Se usa similar a una variable.
Llamadas funcionales:
call greet() 'Similar to a Procedural call just allows the Procedure to use the
'variable greet
string_1=greet() 'The Return value of the function is used for variable
'assignment
Además, la función también se puede utilizar como condiciones para y otras declaraciones condicionales.
for i = 1 to 10
if check_even(i) then
msgbox i & " is Even"
else
msgbox i & " is Odd"
end if
next i
Además, más funciones pueden tener modificadores como By ref y By val para sus argumentos.