微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com
keywords:vba,vb,网络时间
有些时候需要取得网络时间,用于时间校验等用途 以前查到过的一段获取时间代码挺好用 它同时还能判断网络是否连接 代码如下
'****VBA网抓********excle880.com************************************************************* '*功能: 获取网络时间 '*示例: MsgBox E8_WebTime '****收集整理:百度不到去谷歌 QQ80871835 ******************************************************* Public Function E8_WebTime() Dim obj, OBJStatus, url, GetText, i Dim Retrieval url = "http://www.163.com" E8_WebTime = "" '判断网络是否连接 If url <> "" Then Set Retrieval = GetObject("winmgmts:\\.\root\cimv2") Set obj = Retrieval.ExecQuery("Select * From Win32_PingStatus Where Address = '" & Mid(url, 8) & "'") For Each OBJStatus In obj If IsNull(OBJStatus.StatusCode) Or OBJStatus.StatusCode <> 0 Then MsgBox "网络未连接!" Exit Function Else Exit For '已连接则继续 End If Next End If '通过下载网页头信息获取网络时间 Set Retrieval = CreateObject("WinHttp.WinHttpRequest.5.1") With Retrieval .Open "HEAD", url, False, "", "" .setRequestHeader "If-Modified-Since", "0" .setRequestHeader "Cache-Control", "no-cache" .setRequestHeader "Connection", "close" .Send If .Readystate <> 4 Then Exit Function GetText = .getAllResponseHeaders() i = InStr(1, GetText, "date:", vbTextCompare) If i > 0 Then '网页下载成功 i = InStr(i, GetText, ",", vbTextCompare) GetText = Trim(Mid(GetText, i + 1)) i = InStr(1, GetText, " GMT", vbTextCompare) GetText = Left(GetText, i - 1) E8_WebTime = CDate(GetText) + #8:00:00 AM# End If End With Set Retrieval = Nothing Set OBJStatus = Nothing Set obj = Nothing End Function Public Sub test() '测试 MsgBox E8_WebTime End Sub
你们要的文件下载
http://pan.baidu.com/s/1ge54oQR
更多excel技术分享 请访问 http://excle880.com