VBA в Word: получение времени выполнения скрипта - PullRequest
2 голосов
/ 18 ноября 2010

как узнать, сколько времени займет выполнение моего VBA-скрипта? Я знаю из PHP, что есть что-то вроде microtime (), которое вызывается один раз перед сценарием и один раз после, чтобы можно было вычислить разницу от этих значений ...

Есть ли эквивалент VBA?

Ответы [ 3 ]

4 голосов
/ 14 июля 2011

Это пример кода, который я использовал в одном из своих проектов 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
4 голосов
/ 18 ноября 2010

Есть функция с именем Timer(), которая возвращает время в секундах с полуночи.Включает миллисекунды.Я не знаю таймера разрешения микросекунд в VBA.

Статья на About.com предполагает, что можно написать собственный микротимер, выполняя вызовы Win32 API напрямую из VBA..

0 голосов
/ 30 марта 2016

Если вам нужна более точная информация о времени, я бы рекомендовал использовать одну из следующих функций, чтобы получить время начала и окончания

#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 64bit / Office 2010/2013 32bit я предпочитаю timeGetTime

Обратите внимание, что абсолютные значения timeGetTime не рекомендуется использовать, но РАЗНИЦА (например, endTime-startTime) является довольно точным значением в миллисекундах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...