Compartilhar via


Procedimentos Sub (Visual Basic)

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

Sempre 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, ele é 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 Procedures.

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 de 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, confira Instrução Sub.

Declaração de parâmetro

Você declara cada parâmetro de procedimento de forma semelhante à forma 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 de 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. Isso significa que seu tempo de vida é o mesmo que o do procedimento, e seu escopo é todo o procedimento.

Sintaxe de chamada

Você invoca um procedimento Sub 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 deve colocar a lista de argumentos entre parênteses. Se nenhum argumento for fornecido, você poderá omitir opcionalmente 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 de declaração e chamada

Sub O procedimento a seguir 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 string no argumento task 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