Хотя принятый ответ выполняет работу, он слишком сложен для чего-то, что может быть достигнуто с помощью функции WeekDay()
и цикла For
.
Dim day
Dim startdate: startdate = CDate("21 aug 2011")
Dim enddate
'Get first day of month.
startdate = DateSerial(Year(startdate), Month(startdate), 1)
'Get last day of month.
enddate = DateAdd("m", 1, startdate) - 1
For day = startdate To enddate
If WeekDay(day) = vbThursday Then WScript.Echo day & " = " & WeekDayName(WeekDay(day))
Next
Выход:
04/08/2011 = Thursday
11/08/2011 = Thursday
18/08/2011 = Thursday
25/08/2011 = Thursday
Любая Постоянная даты и времени может использоваться здесь для поиска различных или нескольких дней недели с небольшим изменением.