Dicas do OsmarJr

Use variáveis para chamar funções


Como faço para chamar uma função usando uma variável no lugar do nome da função?

Autor: Dev Hashish

Use a Função Eval. Se você passar para a função Eval uma string contendo o nome de uma função, a função Eval devolve o valor da função. Por exemplo, Eval("Chr$(65)") devolve "A".

Assim, no código abaixo, por exemplo, se você chamar fEval com "A" como parâmetro deve obter o resultado "Teste Aquilo" se não, "Teste Isso" .

'*******Início do Código*******
'Este código foi escrito originalmente por Dev Hashish.
'Ele não deve ser alterado ou distribuído,
'exceto como parte de um aplicativo.
'Use-o a vontade em qualquer aplicativo,
'desde que o aviso de copyright não seja alterado.
'
'Codigo cortesia de 
'Dev Ashish
'
Function fEval(status As String)
Dim strNomeFuncao As String
Dim x
    If status = "A" Then
        strNomeFuncao = "TestaAquilo()"
    Else
        strNomeFuncao= "TestaIsto()"
    End If

    fEval = Eval(strNomeFuncao)
End Function

Function TestaIsto()
    Debug.Print "Testa Isto"
End Function

Function TestaAquilo()
    Debug.Print "Testa Aquilo"
End Function
'******* Final do código **********
Home

Contato | Copyright©Osmar José Correia Júnior | 24-Nov-2005 18:23
Hosted by www.Geocities.ws

1