|
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 **********
|