Parâmetros Opcionais
Você pode especificar que um parâmetro de procedimento é opcional e nenhum argumento precisa ser fornecido para ele quando o procedimento é chamado.Parâmetros opcionais são indicados pela palavra-chave Optional na definição do procedimento.As seguintes regras se aplicam:
Cada parâmetro opcional na definição do procedimento deve especificar um valor padrão.
O valor padrão para um parâmetro opcional deve ser uma expressão constante.
Todo parâmetro seguindo um parâmetro opcional na definição do procedimento também deve ser opcional.
A sintaxe a seguir mostra uma declaração de procedimento com um parâmetro opcional.
Sub sub name(ByVal parameter 1 As data type 1, Optional ByVal parameter 2 As data type 2 = default value)
Chamando procedimentos com parâmetros opcionais
Quando você chamar um procedimento com um parâmetro opcional, você pode escolher se deseja fornecer o argumento.Caso contrário, o procedimento usa o valor padrão declarado para esse parâmetro.
Quando você omite um ou mais argumentos opcionais no lista de argumentos, você use sucessivas vírgulas para marcar as posições.A chamada exemplo a seguir fornece os primeiro e o quarto argumentos, mas não o segundo ou terceiro:
Call sub name(argument 1, , , argument 4)
Para determinar se um argumento opcional está presente
Um procedimento não pode detectar no tempo de execução se um determinado argumento foi omitido ouo código de chamada forneceu explicitamente o valor padrão.Se você precisar fazer essa distinção, você pode definir um valor improvável como o padrão.O procedimento a seguir define o ,parâmetro opcional officee testa seu valor padrão, QJZ, para ver se ele foi omitido na chamada:
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.
End Sub
Se o parâmetro opcional é um tipo de referência como umq String, você pode usar Nothing como a valor padrão, desde que não seja um valor esperado para o argumento.
Parâmetros opcionais e sobrecarga
Outra maneira para definir um procedimento com parâmetros opcionais é usar a sobrecarga.Se você tiver um parâmetro opcional, você pode definir duas versões sobrecarregadas do procedimento, uma aceitando o parâmetro e um sem ele.Essa abordagem torna-se mais complicada a medida que o número de parâmetros opcionais aumenta.No entanto, sua vantagem é que você pode ter certeza absoluta se o programa de chamada forneceu cada argumento opcional.
Consulte também
Tarefas
Como: Definir parâmetros opcionais para um procedimento
Como: telefonar um procedimento que tem parâmetros opcionais
Como: Determine se foi fornecido um parâmetro opcional
Conceitos
Parâmetros do procedimento e argumentos
Argumento Passing By valor e por referência
Passagem de Argumentos por Posição e Nome