Expandir Minimizar

Understanding denominado argumentos y argumentos opcionales

Office 2013

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

Hace referencia a: Office 2013 | VBA

Nota importante Importante

Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Cuando se llama Sub o función procedure, puede proporcionar arguments posicionalmente, en el orden en que aparecen en la definición del procedimiento o puede escribir los argumentos por su nombre sin tener en cuenta para ubicar.

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 mediante el suministro de sus argumentos en la posición correcta, cada uno delimitados por una coma, tal como se muestra en el ejemplo siguiente:

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

También puede llamar este procedimiento mediante el suministro de named arguments, delimitando cada uno con una coma.

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

Consta de un argumento con nombre de un nombre de argumento seguido de dos puntos y un signo igual (: =), seguido por el valor del argumento.

Argumentos con nombre son especialmente útiles cuando se llama a un procedimiento que tiene argumentos opcionales. Si usa argumentos con nombre, no debe incluir comas para indicar que falta argumentos por posición. Uso de argumentos con nombre facilita realizar un seguimiento de los argumentos se pasa y que omite.

Los argumentos opcionales van precedidos opcional keyword en la definición del procedimiento. También puede especificar un valor predeterminado para el argumento opcional en la definición del procedimiento. Por ejemplo:

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

Cuando se llama a un procedimiento con un argumento opcional, puede elegir si desea especificar el argumento opcional. Si no se especifica el argumento opcional, el valor predeterminado, si hay alguna, se usa. Si no se especifica ningún valor predeterminado, el argumento es sería para cualquier variable del tipo especificado.

El siguiente procedimiento incluye dos argumentos opcionales, la varRegion y y varCountry variables. La función IsMissing determina si un argumento de tipo Variant opcional se pasa 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 uso de procedimiento denominado argumentos tal como se muestra en los ejemplos siguientes.

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

Nota Nota

Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Mostrar:
© 2014 Microsoft