Я построил систему оповещения, которая срабатывает каждые 30 минут 24/7. Он срабатывает в нужное время, даже когда окна заблокированы, но мне трудно взять дату и час.
Я использую Date = Now
, но вместо этого в режиме реального времени он показывает что-то совершенно другое, как это:
![Error](https://i.stack.imgur.com/wpnR1.png)
Как вы можете видеть на скриншоте, во всплывающем окне написано 27/08/2138 13:30:00
, когда должно быть 29/04/2019 13:00:00
Это происходит только в том случае, если компьютер заблокирован. Любое предложение или обходной путь?
Вот код, если он вам нужен, хотя код работает нормально:
Sub Actualizar_Online()
Dim Inicio As Long, Fin As Long, Fecha As Date, Hora As Date
AhorroMemoria True
Declaraciones
Hora = Now
If Minute(Hora) > 30 Then
Hora = TimeSerial(Hour(Hora), 0, 0)
ElseIf Minute(Hora) < 30 Then
Hora = TimeSerial(Hour(Hora) - 1, 30, 0)
End If
HoraInforme = Hora + Date
Fecha = Date
CargarDia
With wsDB
Inicio = .Cells.Find("SUR").Row
Fin = .Cells.Find(Date - 1, After:=.Cells(Inicio, 1)).Row
If Inicio <> Fin Then .Rows(Inicio & ":" & Fin - 1).Delete
.Rows(.Cells(.Rows.Count, 1).End(xlUp).Row + 1 & ":" & .Rows.Count).Delete
End With
wb.RefreshAll
Segmentaciones
wsAlerta.Cells(2, 1) = HoraInforme
wsAlerta.Calculate
ComprobarMail
AhorroMemoria False
End Sub