|
Function GetRanDate
For i = 0 to 100
Dim sYear,sMonth,sDay
Randomize
sYear = Int((4 * Rnd) + 2004)
Randomize
sMonth = Int((12*Rnd)+1)
Randomize
sDay = Int((31*Rnd)+1)
sGetRanDate = sYear &"-"&sMonth&"-"&sDay
sResult = RegExpTest("^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$",sGetRanDate)
If sResult = True Then
GetRanDate = sGetRanDate
Exit For
End If
Next
End Function
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = False ' 设置是否区分大小写。
retVal = regEx.Test(strng) ' 执行搜索测试。
If retVal Then
RegExpTest =True
Else
RegExpTest = False
End If
End Function
msgbox GetRanDate
写的比较取巧,不过能用 |
|