Back-End

13 dez, 2002

Função para validação de CNPJ

Publicidade

Ao criar esta função, minha única preocupação
foi chegar à validade do CNPJ usando o mínimo
de programação. Se você quiser pode incluir o código
para tratar o CNPJ, eliminando caracteres inválidos
e testando o tamanho, que deve ter 14 digitos.

A grande sacada para eliminar programação
excessiva foi o uso da variável que eu chamei de ftmt
(fator de multiplicação).

Qualquer dúvida: csystems@ig.com.br (Joel
Oliveira)

Function ValidaCNPJ(CNPJ)
Dim
Digito(14), nrDig, Soma(1), Resultado(1), ftmt
ftmt="6543298765432"
for
nrDig=1 to 14

Digito(nrDig)=cint(mid(CNPJ,nrDig,1))

if nrdig<=12 then soma(0)=soma(0)+digito(nrDig)*cint(mid(ftmt,nrDig+1,1))

if nrdig<=13 then soma(1)=soma(1)+digito(nrDig)*cint(mid(ftmt,nrDig,1))
next
for
nrDig=0 to 1

resultado(nrdig) = soma(nrdig) mod 11

if Resultado(nrDig)=0 or Resultado(nrDig)=1 then

ValidaCNPJ = ( Digito(13+nrDig) = 0
)

else

ValidaCNPJ = ( Digito(13+nrDig) = (11-Resultado(nrDig))
)

end if

if not ValidaCNPJ then exit for
next
end function