USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  mascara para cpf e cnpj no mesmo textbox
Perci!
MATAO
SP - BRASIL
ENUNCIADA !
Postada em 01/04/2010 14:55 hs         
Luiz Pedro, tentei testar o seu código aqui, porém não consegui.
Mas eu tenho em meus projetos aqui, uma função para cada caso, não sei se dá para você aproveitar no seu projeto.
'Coloque as funções em um módulo que é melhor, pois qualquer parte do seu projeto poderá se aproveitar da mesmas Functions.
 
Function CampoCnpj(obj As Object, KeyAscii As Integer)
    If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii = 8) Then
        KeyAscii = 0
        Exit Function
    End If
    If KeyAscii <> 8 Then
        If Len(obj.Text) = 2 Or Len(obj.Text) = 6 Then
            obj.Text = obj.Text & "."
            obj.SelStart = Len(obj.Text)
        End If
        If Len(obj.Text) = 2 Or Len(obj.Text) = 10 Then
            obj.Text = obj.Text & "/"
            obj.SelStart = Len(obj.Text)
        End If
        If Len(obj.Text) = 2 Or Len(obj.Text) = 15 Then
            obj.Text = obj.Text & "-"
            obj.SelStart = Len(obj.Text)
        End If
    End If
End Function
 
Function CampoCpf(obj As Object, KeyAscii As Integer)
    If Not ((KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Or KeyAscii = 8) Then
        KeyAscii = 0
        Exit Function
    End If
    If KeyAscii <> 8 Then
        If Len(obj.Text) = 3 Or Len(obj.Text) = 7 Then
            obj.Text = obj.Text & "."
            obj.SelStart = Len(obj.Text)
        End If
        If Len(obj.Text) = 11 Then
            obj.Text = obj.Text & "-"
            obj.SelStart = Len(obj.Text)
        End If
    End If
End Function
 
'No evento KeyPress do campo onde será digitado:
Private Sub TxtCnpj_KeyPress(KeyAscii As Integer)
    KeyAscii = Asc(UCase(Chr(KeyAscii)))
    CampoCnpj TxtCnpj, KeyAscii
End Sub
 
Private Sub TxtCpf_KeyPress(KeyAscii As Integer)
    KeyAscii = Asc(UCase(Chr(KeyAscii)))
    CampoCpf TxtCpf, KeyAscii
End Sub
Neste caso, à medida que você vai digitando os números vão aparecendo os pontos, a barra e o traço correspondente, no local certo.
Note que no meu exemplo, são criados 2 TextBox, portanto você pode criar as duas e colocar no Form uma em cima de outra, aí vai da criatividade. Eu já cheguei a ver exemplos onde você seleciona em um OptionButton se é pessoa Física ou Jurídica, neste caso dependendo da opção selecionada, torna-se Visible somente a TexBox correspondente, e assim por diante.
 
Talvez te ajude, sei lá. Sempre utilizei assim e funcionou.
 
Valeu?
Até mais.
   
xcaverna
SERRINHA
BA - BRASIL
ENUNCIADA !
Postada em 01/04/2010 15:07 hs         
esse código acima vai dar pipino quando digitar o backspace
 
e esse código não é para verificar o CNPJ e SIM criar uma mascara de entrada
   
Página(s): 2/2     « ANTERIOR  

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página