VARIAVEL EXISTENTE

FILMAN 16/05/2012 12:45:08
#402081
Pessoal, como estão

pode ser até uma pergunta besta ais me deparei com um problema que não estou conseguindo resolver

vamos lá:
Para melhor esplicação vou detalhar

é como uma pesquisa o usuario vai digitar um nome qualquer para uma certa função

Função
Public Function TESTE(byval palavra As String) As Boolean
Dim Teste As Integer
Dim Teste2 As String
Dim Teste3() As Variant

Faz alguma coisa....

End Function


Então o usuário digitou: Teste
vou ter que verificar se a PALAVRA Teste é uma variavel ou não e assim por diante
se for vetor, matriz, const ou seja qualquer tipo de declaração de variavel que conter dentro da função ele identifica


Como posso fazer isso, se for possivel?


Obrigado
MARCELO.TREZE 16/05/2012 12:47:09
#402082
Resposta escolhida
eu ainda fiquei confuso com sua duvida, desculpe mas qual é o objetivo?
FILMAN 16/05/2012 12:51:16
#402083
Seguinte Marcelo

Quando o usuário digitar em um INPUTBOX a palavra TESTE

vou precisar saber se TESTE é uma variavel interna da função

retornando TRUE ou FALSE
MARCELO.TREZE 16/05/2012 13:31:41
#402087
VarType diz o tipo de variavel, porém o problema está em converter o valor da string para saber se é uma variavel pois funciona assim

ex:

Dim Teste As Integer
Dim Teste1 As Long
Dim Teste2 As Double
Dim Teste3 As String

msgbox VartYpe(teste)


retornando o numero do tipo de variavel que serão

Variant = 0
Integer = 2
Long = 3
Single = 4
Double = 5
Currency = 6
Date = 7
String = 8
Object = 9
Boolean = 11
Byte = 17


o problema está no seguinte se colocarmos por exemplo

Function TipoVar(ByVal variavel As String) As Boolean
Dim Teste As Integer
Msgbox VarType(variavel)
End Function



se você chamar a função assim

call TipoVar([Ô]Teste[Ô])


o resultado será 8, pois será pego o valor de [ô]variavel[ô] que é uma string

então terá de contornar este problema para fazer o que deseja, farei algumas consultas aqui, pra ver se é possivel
FILMAN 16/05/2012 13:33:56
#402088
Ok Marcelo

Obrigado

Vou verificar aqui tbm
MARCELO.TREZE 16/05/2012 14:01:32
#402089
Olha FILMAN a principio só consegui fazer o que deseja através de um POG ( programa orientado a gambiarra)

veja o exemplo

Public Function TipoVar(ByVal NomeVariavel As String) As Boolean
Dim Variaveis()

Dim teste as string
Dim teste1 as Integer
Dim Teste2 as Long
Dim Teste3 as Currency

Variaveis = Array([Ô]teste[Ô], [Ô]teste1[Ô], [Ô]teste2[Ô], [Ô]teste3[Ô])
For f = 0 To UBound(Variaveis)
If UCase(NomeVariavel) = UCase(Variaveis(f)) Then
TipoVar = True
Exit For
Else
TipoVar = False
End If
Next f

MsgBox TipoVar

End Function


ou seja você teria de colocar o nome de todas as variaveis dentro da array

ló bastaria colocar outra array constando o tipo da variavel


FILMAN 16/05/2012 17:01:08
#402099
O que marcelo vou verificar obrigado



Tópico encerrado , respostas não são mais permitidas