VBA 스크립트를 실행하는 데 걸리는 시간을 어떻게 알 수 있습니까? 나는이 값과의 차이를 계산할 수 있기 위해 스크립트 전에 한 번 호출 된 microtime()과 같은 것이 있다는 것을 PHP로부터 알고 있습니다 ...Word의 VBA : 스크립트 실행 시간 받기
VBA와 동일한 기능이 있습니까?
VBA 스크립트를 실행하는 데 걸리는 시간을 어떻게 알 수 있습니까? 나는이 값과의 차이를 계산할 수 있기 위해 스크립트 전에 한 번 호출 된 microtime()과 같은 것이 있다는 것을 PHP로부터 알고 있습니다 ...Word의 VBA : 스크립트 실행 시간 받기
VBA와 동일한 기능이 있습니까?
Timer()
이라는 자정 이후 시간을 초 단위로 반환하는 함수가 있습니다. 밀리 초를 포함합니다. VBA에서 마이크로 초 해상도 타이머를 알지 못합니다.
An article on About.com은 VBA에서 직접 Win32 API 호출을 만들어 사용자 고유의 마이크로 타이머를 작성할 수 있음을 시사합니다.
내 VBA 프로젝트 중 하나에서 스크립트의 성능을 일시적으로 측정하는 데 사용한 샘플 코드입니다. 또한
당신이 당신의 스크립트의 성능을
최적화하기 위해 자원의 충분한을 찾을 수 있습니다 더 정확한 타이밍 정보가 필요 경우Public Sub generate(ByRef generators() As Generator)
Dim startTime As Double
OptimizePerformance doc
'/////////////////below is the line that matters
startTime = Timer
'////////// your code that is to be measured (in time) here //////////
MsgBox Format(Timer - startTime, "00.00") & " seconds"
removeOptimization doc
End Sub
, 내가 시작 시간과 종료 시간을 얻을 다음 기능 중 하나를 사용하는 것이 좋습니다 것입니다
#If Win64 Then
Private Declare PtrSafe Function GetTickCount Lib "kernel32"() As LongLong
Private Declare PtrSafe Function timeGetTime Lib "winmm.dll"() As LongLong
#Else
Private Declare Function GetTickCount Lib "kernel32"() As Long
Private Declare Function timeGetTime Lib "winmm.dll"() As Long
#End If
시스템에 따라 더 정확한 정보를 반환해야합니다. 개인적으로, Win7에 64 비트/사무실 2,013분의 2,010 32 비트 환경에서 나는 timeGetTime
의 절대 값을 사용하는 것이 좋습니다되지 않습니다 timeGetTime
주를 선호하지만, 차이 (예 : endTime- 사용자 - startTime을은)에서 매우 정확한 값 밀리 초
답변 주셔서 감사합니다.하지만 밀리 초 단위로 표시 할 수 있습니까? – poeschlorn
Timer()는 5406.123과 같은 것을 반환합니다. 여기서 123은 밀리 초를 나타냅니다. 그래서, 밀리 세컨드 타이머가 있습니다. – sblom