Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Understanding denominado argumentos y argumentos opcionales

Office 2013

Última modificación: martes, 06 de diciembre de 2011

Hace referencia a: Office 2013 | VBA

Cuando llama a un procedimiento Sub o Function https://msdn.microsoft.com/es-es/library/office/gg264568.aspx, puede proporcionar argumentos posicionalmente para que aparezcan en la definición del procedimiento o puede proporcionar argumentos por nombre sin tener en cuenta la posición.

Por ejemplo, el siguiente procedimiento Sub tiene tres argumentos:

Sub PassArgs(strName As String, intAge As Integer, dteBirth As Date) 
 Debug.Print strName, intAge, dteBirth 
End Sub 

Puede llamar a este procedimiento proporcionando los argumentos en la posición correcta y delimitándolos mediante una coma, tal y como se muestra en el siguiente ejemplo:

PassArgs "Mary", 29, #2-21-69# 

También puede llamar a este procedimiento proporcionando argumentos con nombre y delimitándolos mediante una coma.

PassArgs intAge:=29, dteBirth:=#2/21/69#, strName:="Mary" 

Un argumento con nombre es un nombre de argumento seguido de dos puntos y un signo de igual (:=) al que le sigue el valor del argumento.

Los argumentos con nombre son especialmente útiles cuando se realiza una llamada a un procedimiento que cuenta con argumentos opcionales. Si usa argumentos con nombre, no tiene que incluir comas para indicar argumentos posicionales que falten. El uso de argumentos con nombre facilita el seguimiento de los argumentos pasados y omitidos.

Los argumentos opcionales están precedidos por la palabra clave Optionalhttps://msdn.microsoft.com/es-es/library/office/gg264568.aspx en la definición de procedimiento. También puede especificar un valor predeterminado para el argumento opcional en la definición de procedimiento. Por ejemplo:

Sub OptionalArgs(strState As String, Optional strCountry As String = "USA") 
. . . 
End Sub 

Cuando llama a un procedimiento con un argumento opcional, puede elegir si especificar o no el argumento opcional. Si no especifica el argumento opcional, se usa el valor predeterminado, si lo hubiera. Si no se especifica el valor predeterminado, el argumento será el de cualquier variable del tipo especificado.

El siguiente procedimiento incluye dos argumentos opcionales, las variables varRegion y varCountry . La función IsMissing determina si un argumento de tipo Variant opcional se ha pasado al procedimiento.

Sub OptionalArgs(strState As String, Optional varRegion As Variant, _ 
Optional varCountry As Variant = "USA") 
 If IsMissing(varRegion) And IsMissing(varCountry) Then 
 Debug.Print strState 
 ElseIf IsMissing(varCountry) Then 
 Debug.Print strState, varRegion 
 ElseIf IsMissing(varRegion) Then 
 Debug.Print strState, varCountry 
 Else 
 Debug.Print strState, varRegion, varCountry 
 End If 
End Sub 

Puede llamar a este procedimiento con los argumentos con nombre que se muestran en los siguientes ejemplos.

OptionalArgs varCountry:="USA", strState:="MD" 
 
OptionalArgs strState:= "MD", varRegion:=5 

Mostrar:
© 2015 Microsoft