FORMATO PARA CGC OU CPF ... COMO FAZER?

XYKOVIEIRA 19/08/2007 23:08:11
#231599
Oi. Alguém pode me ajudar? Tenho uma textbox onde só podem ser digitados números de 0 a 9. Essa textbox recebe tanto numero de CPF (11 dígitos) quanto CGC (14 dígitos). Formatei a textbox, no evento <LostFocus> para transformar os números na identificação do contribuinte, seja ele pessoa física ou jurídica:
Private Sub txtCPF_LostFocus()
If Len(txtCPF) = 11 Then
txtCPF = Format(txtCPF, "###"".""###"".""###-##")
Else
txtCPF = Format(txtCPF, "##"".""###"".""###""/""####-##")
End If
End Sub

Funciona direitinho. Contudo, se o CPF começar com zero (ex.: 040.222.333-55), ao tabular para fora, aparece: 40.222.333-55. Ou seja, come o zero inicial. O mesmo acontece com o CPF 002.555.777-88 (fica 2.555.777-88). Como fazer para aparecer os zeros iniciais, ao tabular para a próxima textbox?
Agradeço a colaboração.
ESLEYSANCHES 19/08/2007 23:20:34
#231601
Verifique na propriedade "Data Format" do text se a mesma está como General. Fiz um teste aqui com esse format e o mesmo funcionou legal permanecendo zeros a esquerda !!

Abraços !!
USUARIO.EXCLUIDOS 20/08/2007 07:48:03
#231610
é so colocar zeros no lugar de cerquilhas

Private Sub txtCPF_LostFocus()
If Len(txtCPF) = 11 Then
txtCPF = Format(txtCPF, "000"".""000"".""000-00")
Else
txtCPF = Format(txtCPF, "00"".""000"".""000""/""0000-00")
End If
End Sub


USUARIO.EXCLUIDOS 20/08/2007 10:05:04
#231624
Resposta escolhida
Primeira medida:
1) Aceitar somente numeros na texbox
2) testar o tamanho se diferente de 11 ou 14 da erro
3) formatar na saida (lostfocus) o CPF ou CNPJ conforme o tamanho com a máscara:

If Len(txtCPF) = 11 Then
txtCPF = Format$(txtCPF, "!@@@.@@@.@@@-@@")
End If

If Len(txtCNPJ) = 14 Then
txtCNPJ = Format$(txtCNPJ, "!@@.@@@.@@@/@@@@-@@")
End If

XYKOVIEIRA 21/08/2007 14:25:33
#231879
Obrigado. é exatamente o que eu precisava. Vou implementar.
till the next.
Tópico encerrado , respostas não são mais permitidas