Meten hoe lang een procedure duurt

Status
Niet open voor verdere reacties.

Woffels

Gebruiker
Lid geworden
8 jan 2006
Berichten
251
Ik zou graag willen meten hoe lang een bepaalde procedure duurt. In onderstaande code ververs ik gegevens in een ander document en sla dat document vervolgens op.
Nu wil ik timen hoe lang de gehele procedure duurt in tijd. Ik heb het idee om voor het starten van de procedure de huidige tijd (now) op te slaan in variabele1 en na de procedure weer de huidige tijd te pakken en daar variabele1 vanaf te trekken. Het verschil zal de tijd zijn die de procedure heeft geduurd in secondes. Ik heb al van alles geprobeerd, maar het lukt me niet. Iemand een idee.

Dit is bv de procedure met mijn idee:

Code:
variabele1 = now

Application.ScreenUpdating = False
Workbooks.Open Filename:= "C:\Users\Peter\Desktop\test.xlsx"
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
ActiveWindow.Close

TotalTime = now - variabele1
 
Inmiddels zelf al een oplossing gevonden.

Code:
Dim Date1 As Date, Date2 As Date, Date3 As Date

Date1 = Now
Workbooks.Open Filename:= "C:\Users\Peter\Desktop\test.xlsx"
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
ActiveWindow.Close
Date2 = Now
Date3 = DateDiff("s", Date1, Date2)
 
Gewoon als toemaatje dan: je zat met je eerste aanzet op het goede spoor. Als je daar 'Now' vervangt door 'Timer' heb je het meteen in seconden.
 
Code:
dim t as single
t = timer
with Workbooks.Open("C:\Users\Peter\Desktop\test.xlsx")
   .RefreshAll
   .close true
end with
msgbox format(timer - t,"0.000")
Of de iets tragere.
Code:
dim t as single
t = timer
with getobject("C:\Users\Peter\Desktop\test.xlsx")
   .RefreshAll
   .close true
end with
msgbox format(timer - t,"0.000")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan