VBA中 怎么获得时间的毫秒数 用time只能得到秒,毫秒怎么算出来啊?

 我来答
冲浪网站优化
高粉答主

推荐于2017-10-11 · SEO资深专家,互联网知名专家。
冲浪网站优化
采纳数:10812 获赞数:90553

向TA提问 私信TA
展开全部
系统自带的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
上面三句代码网友可以更换成自己实际计算过程的代码。
feiyun
推荐于2017-09-10 · 知道合伙人教育行家
feiyun
知道合伙人教育行家
采纳数:2687 获赞数:7903
从事培训工作12年 中级经济师

向TA提问 私信TA
展开全部
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Sub aa()
MsgBox timeGetTime
End Sub

使用Windows API的winmm.dll其中的timeGetTime 可以获得毫秒数,不过这个值是开机到现在的毫秒数,不是timer()午夜到现在的秒数。
更多追问追答
追问
①能不能把    当前的  时分秒.毫秒  一起表示?
②如果 算两个时间差的话 怎么显示 时分秒.毫秒?
追答
有了毫秒数,时分秒还不是很简单吗?整除3600000就是小时,余数部分整除60000就是分钟,再余数部分整除1000就是秒数。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
表里如一
2012-08-08 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11636
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
Sub aa()
Range("C1").NumberFormatLocal = "yyyy-mm-dd HH:MM:SS.MS"
Cells(1, 3).Value = Now
End Sub

就能得到毫秒数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aTang9512
2012-08-08 · 超过14用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:34.1万
展开全部
timer 返回的就是有毫秒的

这是毫秒数:
msgbox (timer-int(timer))*1000
追问
①能不能把    当前的  时分秒.毫秒  一起表示?
②如果 算两个时间差的话 怎么显示 时分秒.毫秒?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式