'-----------------------------------------------------
'Funcao: IsData(ByVal strData)
'Sinopse: Verifica se a data está no formato correto
' Formatos aceitos: DD/MM/YYYY
'Parametro: strData
'Retorno: Booleano
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
Function IsData(ByVal strData)
'Validando o formato da data com expressão regular
Set regEx = New RegExp 'Cria o Objeto Expressão
regEx.Pattern = "^(([0-2]d|[3][0-1])/([0]d|[1][0-2])/[1-2][0-9]d{2})$" ' Expressão Regular
regEx.IgnoreCase = True ' Sensitivo ou não
regEx.Global = True
Retorno = RegEx.Test(strData)
If Retorno = True Then
'Verificando realmente se a data é uma data válida
If IsDate(strData) Then
Retorno = True
Else
Retorno = False
End If
End If
'Retornando a função
IsData = Retorno
'Destruindo os objetos
Set regEx = Nothing
End Function