Добрый день. Мне нужно, чтобы при запуске, скрипт: 1) Если текущее время больше или равно, чем 09:20:00, то - сразу выдавал напоминание 2) Если текущее время меньше, чем 09:20:00, то - выдавал напоминание при наступлении 09:20:00
Запускаю скрипт (при этом текущее время 10 утра), даёт ошибку (см.скрин)
Код
time1=TimeValue("09:20:00")
tekst1="Напоминание №1"
x=1000*60*60*24
If NowTime >= time1 Then
Msgbox tekst1, 64, tekst1
Else
Wscript.Sleep CDbl(time1-TimeValue(Now))*x
Msgbox tekst1, 64, tekst1
End If
В чём причина?
ИМХО, ошибка возникает из-за того, что компьютер пытается как бы прочитать и высчитать 2-ю часть условия (хотя он должен перейти в эту часть только если текущее время меньше, чем 09:20:00) и возникает ошибка отрицательного времени. Как лечить?
Бахтиёр написал: хотя он должен перейти в эту часть только если текущее время меньше, чем 09:20:00)
Почему? Что такое NowTime? Нигде не вижу назначения значений этой переменной. А значит она равна 0. А 0 не может быть больше или равен хоть чему-то числовому. В итоге происходит безусловный переход к Else и в результате вычисления скорее всего в строке 9 получаете отрицательное значение, т.к. вычитаете из меньшего большее.
time1=TimeValue("09:20:00")
tekst1="Напоминание №1"
x=1000*60*60*24
If Time >= time1 Then
Msgbox tekst1, 64, tekst1
Else
Wscript.Sleep CDbl(time1-Time)*x
Msgbox tekst1, 64, tekst1
End If
Бахтиёр, это НЕ штатная функция VBA, откуда вы вообще её взяли?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Msgbox и VBS не вяжутся. или Wscript.echo , я предподчитаю его ибо если в режиме пакетном, то это вывод в консоль или куда перенаправлено. или http://scriptcoding.ru/2013/06/25/wscript-shell-popup/ или через shell вызывать msg c параметрами.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄