VBA中 怎么获得时间的毫秒数 用time只能得到秒,毫秒怎么算出来啊?
4个回答
展开全部
系统自带的now 或者Timer函数都只能获取到秒,一个相关的API,使用Windows API的winmm.dll其中的timeGetTime 可以获得毫秒数,这个值是从开机到现在的毫秒数。
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub btnTest_Click()
Dim StartMS As Long
Dim EndMS As Long
Dim MS As Long
StartMS = timeGetTime() '开始毫秒数
While timeGetTime < StartMS + 200 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件
Wend
EndMS = timeGetTime() '结束毫秒
MS = EndMS - StartMS '取两者相差的毫秒数
MsgBox "毫秒数:" & MS
End Sub
While timeGetTime < StartMS + 200 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件
Wend
上面三句代码网友可以更换成自己实际计算过程的代码。
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub btnTest_Click()
Dim StartMS As Long
Dim EndMS As Long
Dim MS As Long
StartMS = timeGetTime() '开始毫秒数
While timeGetTime < StartMS + 200 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件
Wend
EndMS = timeGetTime() '结束毫秒
MS = EndMS - StartMS '取两者相差的毫秒数
MsgBox "毫秒数:" & MS
End Sub
While timeGetTime < StartMS + 200 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件
Wend
上面三句代码网友可以更换成自己实际计算过程的代码。
展开全部
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Sub aa()
MsgBox timeGetTime
End Sub
使用Windows API的winmm.dll其中的timeGetTime 可以获得毫秒数,不过这个值是开机到现在的毫秒数,不是timer()午夜到现在的秒数。
Sub aa()
MsgBox timeGetTime
End Sub
使用Windows API的winmm.dll其中的timeGetTime 可以获得毫秒数,不过这个值是开机到现在的毫秒数,不是timer()午夜到现在的秒数。
更多追问追答
追问
①能不能把 当前的 时分秒.毫秒 一起表示?
②如果 算两个时间差的话 怎么显示 时分秒.毫秒?
追答
有了毫秒数,时分秒还不是很简单吗?整除3600000就是小时,余数部分整除60000就是分钟,再余数部分整除1000就是秒数。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-08 · 知道合伙人软件行家
关注
展开全部
Sub aa()
Range("C1").NumberFormatLocal = "yyyy-mm-dd HH:MM:SS.MS"
Cells(1, 3).Value = Now
End Sub
就能得到毫秒数
Range("C1").NumberFormatLocal = "yyyy-mm-dd HH:MM:SS.MS"
Cells(1, 3).Value = Now
End Sub
就能得到毫秒数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
timer 返回的就是有毫秒的
这是毫秒数:
msgbox (timer-int(timer))*1000
这是毫秒数:
msgbox (timer-int(timer))*1000
追问
①能不能把 当前的 时分秒.毫秒 一起表示?
②如果 算两个时间差的话 怎么显示 时分秒.毫秒?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询