系统自带的now 或者Timer函数都只能获取到秒,一个相关的API,使用Windows API的winmmdll其中的timeGetTime 可以获得毫秒数,这个值是从开机到现在的毫秒数。
Private Declare Function timeGetTime Lib "winmmdll" () 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
上面三句代码网友可以更换成自己实际计算过程的代码。
Sub 提取日期()
Dim temp
Dim str As String
Dim d As Date
str = "l4-122344/201238"
temp = Split(str, "/")(1)
d = DateSerial(Split(temp, "")(0), Split(temp, "")(1), Split(temp, "")(2))
End Sub
'以对话框显示当前时间的时、分、秒
MsgBox "当前时间:" & Time & Chr(10) & _
"时:" & Hour(Time) & Chr(10) & _
"分:" & Minute(Time) & Chr(10) & _
"秒:" & Second(Time)
Sub 获取文件修改时间()
Dim Ipath, Ifile As String, Arr(), N As Integer
Ipath = "d:\pic\"
Ifile = Dir(Ipath, vbNormal)
If Ifile <> "" Then
Do
N = N + 1
ReDim Preserve Arr(1 To 2, 1 To N)
Arr(1, N) = Ipath & Ifile
Arr(2, N) = FileDateTime(Ipath & Ifile)
Ifile = Dir
Loop While Ifile <> ""
Range("A1")Resize(N, 2) = WorksheetFunctionTranspose(Arr)
End If
End Sub
楼主的需求请再明确下
去时间的小时,是将时长换算成小时,还是将某个时间的"小时”提取出来
计算小时差,两个时间相减结果是天数24就是小时,再60就是分钟
取小时是hour,分钟minute
以上就是关于VBA中 怎么获得时间的毫秒数 用time只能得到秒,毫秒怎么算出来啊全部的内容,包括:VBA中 怎么获得时间的毫秒数 用time只能得到秒,毫秒怎么算出来啊、VBA excel 提取字符串中的日期、excel中编程vba 怎么得到小时数公式怎么写,分钟和秒种都不要。谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)