Всем добрый день. Подсмотрел в интернете макрос по получению даты и времени из интернета, при запуске процедуры "ВывестиТекущуюДатуИВремя" выводит вместо даты 00:00:00, может кто сможет подсказать что не так?
Код |
---|
Function GetRealTime(Optional ByVal GMT& = 4) As Date On Error Resume Next: Err.Clear: Dim http As Object, URL$, GMT_Time$, m$, mv$ 'GetRealTime = Now ' значение по-умолчанию Set http = CreateObject("Microsoft.XMLHTTP") URL$ = "http://yandex.ru/" ' можно указать практически любой сайт http.Open "GET", URL$, False http.Send GMT_Time = http.GetResponseHeader("Date") Set http = Nothing ' пример полученной строки: Sun, 27 Apr 2014 06:14:44 GMT 'If Not (GMT_Time Like "???, *# ??? #### ##:##:##*GMT*") Then Exit Function GMT_Time = Trim(Split(GMT_Time, ",")(1)) GMT_Time = Trim(Split(GMT_Time, "GMT")(0)) m$ = Trim(Split(GMT_Time)(1)) mv$ = (InStr(1, "janfebmaraprmayjunjulaugsepoctnovdec", m$, vbTextCompare) + 2) / 3 GMT_Time = Replace(GMT_Time, " " & m$ & " ", "." & Format(mv$, "00") & ".") GetRealTime = CDate(GMT_Time) + Val(GMT&) / 24 End Function Sub ВывестиТекущуюДатуИВремя() t = GetRealTime MsgBox t, vbInformation, "Текущее время (в Москве)" End Sub |