quinta-feira, 18 de outubro de 2007

DateCheck()

Verifica se uma expressão de data é válida.

Function
DateCheck(ByVal Data)
If Not IsDate(Data) Then
DateCheck = False
Exit Function
End If

Dim Ano, Mes, Dia
Dim Hora, Minuto, Segundo
Dim AnoAtual

Ano = Year(Data)
Mes = Month(Data)
Dia = Day(Data)
Hora = Hour(Data)
Minuto = Minute(Data)
Segundo = Second(Data)
AnoAtual = Year(Date)

If Ano < (AnoAtual - 100) Or Ano > (AnoAtual + 100) Then
DateCheck = False
Exit Function
End If


If Mes < 1 Or Mes > 12 Then
DateCheck = False
Exit Function
End If


If Dia < 1 Or Dia > 31 Then
DateCheck = False
Exit Function
End If


If Hora < 0 Or Hora > 23 Then
DateCheck = False
Exit Function
End If

If Minuto < 0 Or Minuto > 59 Then
DateCheck = False
Exit Function
End If


If Segundo < 0 Or Segundo > 59 Then
DateCheck = False
Exit Function
End If


If Mes = 2 Then
If Ano Mod 4 = 0 Then
If Dia > 29 Then
DateCheck = False
Exit Function
End If
ElseIf Dia > 28 Then
DateCheck = False
Exit Function
End If
End If


DateCheck = True
End Function

Nenhum comentário: