Разница во времени VBA в секундах

Если вы import os, вы можете использовать os.getcwd для получения текущего рабочего каталога, и вы можете использовать os.chdir для изменения своего каталога

0
задан Dominique 18 January 2019 в 09:54
поделиться

2 ответа

Почему бы вам просто не взять разницу между двумя результатами функции Now() рабочего листа и умножить ее на 86400 без какого-либо форматирования?

Now() дает дату-время сейчас, где единицы дни. Поскольку в течение одного дня есть 86400 секунд, умножение разницы на 86400 даст вам количество секунд.

0
ответ дан Dominique 18 January 2019 в 09:54
поделиться

Каждый раз, когда вы вызываете 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
0
ответ дан drgs 18 January 2019 в 09:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: