Subprogramas
Incluso los programas más sencillos tienen la necesidad de dividirse. En VBScript existen dos tipos de subprogramas: las funciones y las subrutinas.
Subrutinas
Una subrutina es un conjunto de sentencias que no devuelven nada, pero pueden recibir argumentos. Se escriben así:
Sub EscribirDeclaracionAmor()
MsgBox "Je t'aime, y tú sin saberlo"
End Sub
En este caso no recibe argumentos, así que ponemos los paréntesis vacíos. Para llamarlos existen dos posibilidades:
Call Subrutina(Argumento1, Argumento2)
Subrutina Argumento1, Argumento2
Funciones
Se diferencian de las subrutinas en que éstos sí que devuelven un dato (de tipo Variant, para variar). Para hacerlo se supone que existe una variable con el mismo nombre que la función, que contendrá ese valor de retorno. Por ejemplo:
Function Factorial(Numero)
If Numero <= 1 Then
Factorial = 1
Else
Factorial = Numero * Factorial (Numero - 1)
End If
End Function
Vemos que tanto los argumentos como el valor de retorno se usan como cualquier otra variable. Para llamar a una función tenemos una sóla posibilidad:
Funcion(Argumento1, Argumento2)