# Call

O comando de controle call chama uma sub-rotina que deve ser definida por um comando sub prévio.

Sintaxe:

Call name ( [ paramlist ])

Argumentos:

Argumentos

| Argumento | Descrição |
| --- | --- |
| name | O nome da sub-rotina. |
| paramlist | Uma lista separada por vírgulas dos parâmetros reais que serão enviados para a sub-rotina. Cada item da lista deve ser um nome de campo, uma variável ou uma expressão arbitrária. |

A sub-rotina chamada por uma declaração call deve ser definida por um sub encontrado anteriormente durante a execução do script.

Os parâmetros são copiados na sub-rotina e, se o parâmetro no comando call for uma variável e não uma expressão, serão copiados novamente ao sair da sub-rotina.

Limitações:

* Como o comando call é de controle e, portanto, termina com um ponto e vírgula ou com um fim de linha, ele não deve cruzar um limite de linha.

* Quando você define uma sub-rotina com `Sub..end sub` dentro de um comando de controle, por exemplo `if..then`, você só pode chamar a sub-rotina de dentro do mesmo comando de controle.