ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何利用VBA从网络获取时间来校准计算机时间?

如何利用VBA从网络获取时间来校准计算机时间?

作者:绿色风 分类: 时间:2022-08-17 浏览:113
楼主
amulee
Q:如何利用VBA从网络获取时间来校准计算机时间?
A:可以利用Microsoft.XMLHTTP来读取网页内容,请参考下列代码。
  1. Sub 利用网络时间校对当前计算机时间()
  2.     Dim objXML As Object
  3.     Dim strTemp As String
  4.     Dim lStart As Long
  5.     Dim lEnd As Long
  6.     Dim DtWeb As Date
  7.    
  8.     '建立XMLHTTP对象。并获取http://www.timeanddate.com/worldclock/city.html?n=33的网页Text
  9.     '&Refresh=" & Rnd 是为了避免直接从IE缓存中读取
  10.     Set objXML = CreateObject("Microsoft.XMLHTTP")
  11.     Randomize   '初始化随机数,避免IE缓存重复
  12.     objXML.Open "Get", "http://www.timeanddate.com/worldclock/city.html?n=33&Refresh=" & Rnd, False
  13.     objXML.sEnd ""
  14.     strTemp = objXML.responseText
  15.     Set objXML = Nothing
  16.    
  17.     '对网页进行处理,找出当前日期和时间
  18.     lStart = InStr(1, strTemp, "Current Time", vbTextCompare)
  19.     lEnd = InStr(lStart, strTemp, "</strong>", vbTextCompare)
  20.     strTemp = Mid(strTemp, lStart, lEnd - lStart)
  21.     strTemp = Replace(strTemp, "Current Time</th><td><strong id=ct  class=big>", "")
  22.     arr = Split(strTemp, ",")
  23.     DtWeb = CDate(arr(1) & arr(2))
  24.    
  25.     '设置当前日期和时间
  26.     Date = DtWeb
  27.     Time = DtWeb
  28.     MsgBox "日期和时间已经校对成功!" & vbCrLf & "当前日期和时间为:" & DtWeb
  29. End Sub


时间处理除上述方法外,还可以采取以下方法
  1. strTemp = ObjXML.getResponseHeader("Date")
  2. ArrTmp = Split(DateTxt, " ")
  3. lBd = LBound(ArrTmp)
  4. DtWeb = Format(ArrTmp(lBd + 1) & "-" & ArrTmp(lBd + 2) & "-" & ArrTmp(lBd + 3), "yy-m-d") + CDate(ArrTmp(lBd + 4)) + "8:00:00"


利用网络获取时间的意义在于制作具有有效期验证的VBA程序,避免用户修改计算机时间作弊。

上述获取网页内容的方法还可以用于网页的分析以及实时更新Excel表格内容。


获取网络时间.rar
2楼
wxd95
知道法国获得知道法国获得法规及
3楼
hahaboy86
不错 正是我要的东西哦
4楼
轩辕轼轲
能否再判断断开网络的情况呢,如果断开了网络,提示网络故障!
5楼
0Mouse
如何运用VBA判断计算机是否连网呢?

(出处: Excel 技巧网)

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap