Partilhar via


Subprocedimentos (Visual Basic)

Um Sub procedimento é uma série de instruções do Visual Basic incluídas pelas Sub instruções and End Sub . O Sub procedimento executa uma tarefa e, em seguida, retorna o controle para o código de chamada, mas não retorna um valor para o código de chamada.

Cada vez que o procedimento é chamado, suas instruções são executadas, começando com a primeira instrução executável após a Sub instrução e terminando com a primeira End Sub, Exit Subou Return instrução encontrada.

Você pode definir um Sub procedimento em módulos, classes e estruturas. Por padrão, é Public, o que significa que você pode chamá-lo de qualquer lugar em seu aplicativo que tenha acesso ao módulo, classe ou estrutura na qual você o definiu. O termo método descreve um Sub ou Function procedimento que é acessado de fora de seu módulo, classe ou estrutura definidora. Para obter mais informações, consulte Procedimentos.

Um Sub procedimento pode usar argumentos, como constantes, variáveis ou expressões, que são passados para ele pelo código de chamada.

Sintaxe da declaração

A sintaxe para declarar um Sub procedimento é a seguinte:

[modifiers] Sub SubName[(parameterList)]
    ' Statements of the Sub procedure.
End Sub

O modifiers pode especificar o nível de acesso e informações sobre sobrecarga, substituição, compartilhamento e sombreamento. Para obter mais informações, consulte Subdeclaração.

Declaração de parâmetros

Você declara cada parâmetro de procedimento de forma semelhante a como declara uma variável, especificando o nome do parâmetro e o tipo de dados. Você também pode especificar o mecanismo de passagem e se o parâmetro é opcional ou uma matriz de parâmetros.

A sintaxe para cada parâmetro na lista de parâmetros é a seguinte:

[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType

Se o parâmetro for opcional, você também deverá fornecer um valor padrão como parte de sua declaração. A sintaxe para especificar um valor padrão é a seguinte:

Optional [ByVal | ByRef]  parameterName As DataType = defaultValue

Parâmetros como variáveis locais

Quando o controle passa para o procedimento, cada parâmetro é tratado como uma variável local. Isto significa que o seu período de vida é o mesmo que o do procedimento e que o seu âmbito é todo o procedimento.

Sintaxe de chamada

Você invoca um Sub procedimento explicitamente com uma instrução de chamada autônoma. Você não pode chamá-lo usando seu nome em uma expressão. Você deve fornecer valores para todos os argumentos que não são opcionais e colocar a lista de argumentos entre parênteses. Se nenhum argumento for fornecido, você pode, opcionalmente, omitir os parênteses. O uso da Call palavra-chave é opcional, mas não recomendado.

A sintaxe de uma chamada para um Sub procedimento é a seguinte:

[Call] SubName[(argumentlist)]

Você pode chamar um Sub método de fora da classe que o define. Primeiro, você precisa usar a New palavra-chave para criar uma instância da classe ou chamar um método que retorna uma instância da classe. Para obter mais informações, consulte Novo operador. Em seguida, você pode usar a seguinte sintaxe para chamar o Sub método no objeto de instância:

object.MethodName[(argumentList)]

Ilustração da declaração e do convite à apresentação de propostas

O procedimento a seguir Sub informa ao operador do computador qual tarefa o aplicativo está prestes a executar e também exibe um carimbo de data/hora. Em vez de duplicar esse código no início de cada tarefa, o aplicativo apenas chama tellOperator de vários locais. Cada chamada passa uma cadeia de caracteres no task argumento que identifica a tarefa que está sendo iniciada.

Sub tellOperator(ByVal task As String)
    Dim stamp As Date
    stamp = TimeOfDay()
    MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub

O exemplo a seguir mostra uma chamada típica para tellOperator.

tellOperator("file update")

Consulte também