¿Cómo se puede validar un email con vba?

Necesito antes de insertar un nuevo registro validar el campo email, ¿cuál sería el código vba para hacer esta validación?

1 Respuesta

Respuesta
1

Puede hacerlo con esta función

Public Function validarEmail(email As String) As Boolean
'La función utiliza una expresión regular para validar el formato del correo electrónico.
'La expresión regular se almacena en la variable patron y se compone de los siguientes elementos:
'
'^: indica el inicio de la cadena
'\w+: una o más letras, números o guiones bajos
'([\.-]?\w+)*: cero o más grupos de un carácter de punto o guion medio seguido de una o más letras, números o guiones bajos
'@: el símbolo de arroba
'\w+: una o más letras, números o guiones bajos
'([\.-]?\w+)*: cero o más grupos de un carácter de punto o guion medio seguido de una o más letras, números o guiones bajos
'(\.\w{2,3})+: uno o más grupos de un carácter de punto seguido de dos o tres letras.
'              Este elemento representa la extensión del dominio, que puede tener dos o tres caracteres.
'La función utiliza la clase RegExp de VBScript para aplicar la expresión regular a la cadena de texto email
'y determinar si cumple con el formato de correo electrónico válido. Si la cadena cumple con el formato,
'la función devuelve True; de lo contrario, devuelve False.
'
    Dim patron As String
    patron = "^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$"
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = patron
        validarEmail = .test(email)
    End With
End Function

Ejemplos ventana de inmediato

¿
? ValidarEmail("[email protected]") 'Error 4 caracteres después del punto
Falso
? ValidarEmail("eperezfer@ hotmail.com") 'Error un espacio después de la @
Falso
? ValidarEmail("eperezfer @hotmail.com") 'Error un espacio antes de la @
Falso
? ValidarEmail(" [email protected]") 'Error un espacio antes del primer caracter
Falso
? ValidarEmail("/[email protected]") 'Error primer caracter no válido
Falso
?validarEmail("eperezfer&@hotmail.com")  'Error simbolo & antes de @ no válido
Falso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas