VARIAVEL EXISTENTE
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
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
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
eu ainda fiquei confuso com sua duvida, desculpe mas qual é o objetivo?
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
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
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:
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
se você chamar a função assim
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
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
Ok Marcelo
Obrigado
Vou verificar aqui tbm
Obrigado
Vou verificar aqui tbm
Olha FILMAN a principio só consegui fazer o que deseja através de um POG ( programa orientado a gambiarra)
veja o exemplo
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
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
O que marcelo vou verificar obrigado
Tópico encerrado , respostas não são mais permitidas