Ada*_*lph 44
您可以使用此处描述的方法如下: -
创建一个名为StopWatch
Put的新类模块将以下代码放入StopWatch类模块中:
Private mlngStart As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long
Public Sub StartTimer()
mlngStart = GetTickCount
End Sub
Public Function EndTimer() As Long
EndTimer = (GetTickCount - mlngStart)
End Function
Run Code Online (Sandbox Code Playgroud)
您使用以下代码:
Dim sw as StopWatch
Set sw = New StopWatch
sw.StartTimer
' Do whatever you want to time here
Debug.Print "That took: " & sw.EndTimer & "milliseconds"
Run Code Online (Sandbox Code Playgroud)
其他方法描述了VBA定时器功能的使用,但这仅精确到百分之一秒(厘秒).
Oor*_*ang 11
如果您只需要以厘秒为单位的时间,则不需要TickCount API.您可以使用所有Office产品中存在的VBA.Timer方法.
Public Sub TestHarness()
Dim fTimeStart As Single
Dim fTimeEnd As Single
fTimeStart = Timer
SomeProcedure
fTimeEnd = Timer
Debug.Print Format$((fTimeEnd - fTimeStart) * 100!, "0.00 "" Centiseconds Elapsed""")
End Sub
Public Sub SomeProcedure()
Dim i As Long, r As Double
For i = 0& To 10000000
r = Rnd
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61446 次 |
| 最近记录: |