Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Sub.
[Public [Default] | Private] Sub nombre [(listaArgumentos)] [instrucciones] [Exit Sub] [instrucciones] End Sub
El argumento listaArgumentos tiene la siguiente sintaxis:
[ByVal | ByRef] nombreVariable[( )]
Si no se especifica explícitamente con Public o Private, los procedimientos Sub son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de su secuencia de comandos. El valor de las variables locales en el procedimiento Sub no se conserva entre llamadas al procedimiento.
No puede definir un procedimiento Sub dentro de cualquier otro procedimiento (p. ej. Function o Property Get).
La instrucción Exit Sub provoca una salida inmediata de un procedimiento Sub. La ejecución del programa continúa con la instrucción que sigue a la que llamó al procedimiento Sub. Puede aparecer cualquier número de instrucciones Exit Sub en cualquier lugar de un procedimiento Sub.
Al igual que un procedimiento Function, Sub es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function, que devuelve un valor, un procedimiento Sub no se puede utilizar en una expresión.
Se llama a un procedimiento Sub mediante su nombre seguido de la lista de argumentos. Remítase a la instrucción Call para obtener información específica acerca de cómo llamar a un procedimiento Sub.
Precaución Los procedimientos Sub pueden ser recursivos, es decir, pueden llamarse a sí mismos para realizar una tarea concreta. Sin embargo, la recursividad puede dar lugar a un desbordamiento de pila.
Las variables utilizadas en los procedimientos Sub pertenecen a dos categorías: aquellas que se declaran explícitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explícitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explícitamente dentro de un procedimiento son también locales a no ser que se declaren explícitamente en algún nivel superior fuera del procedimiento.
Precaución Un procedimiento puede utilizar una variable que no se declare explícitamente en el procedimiento, pero puede producirse un conflicto de nomenclatura si cualquiera de los elementos que ha definido tiene el mismo nombre en el nivel de secuencia de comandos. Si el procedimiento hace referencia a una variable que no está declarada y que tiene el mismo nombre que otro procedimiento, constante o variable, se asume que su procedimiento hace referencia a dicho nombre del nivel de secuencia de comandos. Para evitar este tipo de conflicto, utilice una instrucción Option Explicit con la que se fuerce la declaración explícita de variables.
Instrucción Call | Instrucción Dim | Instrucción Exit | Instrucción Function
Ayuda de Javascript y Vbscript para Javascripts.astalaweb.com. |