VBAスクリプトの実行に時間がかかるのですか? 私はPHPから、この値との差を計算するために、スクリプトの前に1度呼び出されたmicrotime()のようなものがあることを知っています...WordのVBA:スクリプトの実行時間の取得
相当するVBAはありますか?
VBAスクリプトの実行に時間がかかるのですか? 私はPHPから、この値との差を計算するために、スクリプトの前に1度呼び出されたmicrotime()のようなものがあることを知っています...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
あなたは、より正確なタイミング情報を必要とする場合、私は、以下の機能の1開始時刻と終了時刻を取得
を使用することをお勧めします#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
システムによっては、より正確な情報が返されるはずです。個人的に、私はtimeGetTime
注意を好むWin7の64ビット/オフィス2013分の2010 32ビット環境でtimeGetTime
の絶対値が使用されることをお勧めしますが、その差(例えばendTimeは-のstartTimeが)でかなり正確な値であるされていないことmiliseconds
回答ありがとうございますが、これをミリ秒単位で取得する可能性はありますか? – poeschlorn
Timer()は5406.123のようなものを返します。ここで、123はミリ秒を表します。だから、ええ、ミリ秒のタイマーがあります。 – sblom