Если вы import os
, вы можете использовать os.getcwd
для получения текущего рабочего каталога, и вы можете использовать os.chdir
для изменения своего каталога
Почему бы вам просто не взять разницу между двумя результатами функции Now()
рабочего листа и умножить ее на 86400 без какого-либо форматирования?
Now()
дает дату-время сейчас, где единицы дни. Поскольку в течение одного дня есть 86400 секунд, умножение разницы на 86400 даст вам количество секунд.
Каждый раз, когда вы вызываете timediff, Psos сбрасывается на пустое ... Не уверен, зачем нужна коллекция, просто создайте глобальную переменную Date и сравните с ней, или сделайте все за одну процедуру:
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Public Sub OneMinuteLoop()
Dim dtmNow As Date
Dim dtmLastUpdate As Date
Do While True
dtmNow = Now()
If DateDiff("s", dtmLastUpdate, dtmNow) > 30 Then
'Do something
dtmLastUpdate = dtmNow
End If
Sleep 5000
DoEvents
Loop
End Sub