首页 > 解决方案 > 在 Excel 上使用 VBA 在特定时间触发警报

问题描述

我有一个代码,每次我收到一封电子邮件时,都会在 Excel 上复制收到的时间,我需要在收到某些电子邮件的 1:50 小时后触发一条消息。例如:

Received Time       Deadline
13/09/2018 9:44     13/09/2018 11:34   (run code at 11:34)
13/09/2018 10:27    13/09/2018 12:17   (run code at 12:17)

(接收时间在 B 列,截止日期在 C 列)

我知道有 appication.ontime 方法,这是我一直在尝试使用但没有成功的方法。这是我到目前为止所得到的:

Private Sub Workbook_Open()
    For Each cell In Sheets("sheet").Range(Range("C2"), Range("C2").End(xlDown))
            Application.OnTime TimeValue(cell.Value), "deadline_alert"
    Next cell
End Sub

Public Sub deadline_alert()

MsgBox "check email"

End Sub

此外,我需要此代码始终处于活动状态。我不会使用这个 Excel,它只是用来从 Outlook 获取信息。我应该在工作簿事件 Open 或 WorksheetDeactivate 上执行此操作吗?

标签: vbaexcel

解决方案


推荐阅读