Excel vba ontime事件如果超过了设置的时间会发生什么
我正试图用vba usind application.ontime事件编写电子邮件提醒,但这是我第一次,所以我有一些问题 首先,我要做的是: 我有一张这样的桌子 如果在显示的时间前一个小时内未单击ok按钮,我希望发送一封电子邮件,因此我正在尝试使用ontime事件的一些代码,我知道可能会触发多个时间事件,因此为了避免忘记ontime呼叫,我想做这样的事情: (这只是一个练习册,一旦我想好了,我会在真正的练习册上修改代码) 这是启动定时器子,然后在这里测试Excel vba ontime事件如果超过了设置的时间会发生什么,excel,vba,ontime,Excel,Vba,Ontime,我正试图用vba usind application.ontime事件编写电子邮件提醒,但这是我第一次,所以我有一些问题 首先,我要做的是: 我有一张这样的桌子 如果在显示的时间前一个小时内未单击ok按钮,我希望发送一封电子邮件,因此我正在尝试使用ontime事件的一些代码,我知道可能会触发多个时间事件,因此为了避免忘记ontime呼叫,我想做这样的事情: (这只是一个练习册,一旦我想好了,我会在真正的练习册上修改代码) 这是启动定时器子,然后在这里测试 Sub test() Dim i A
Sub test()
Dim i As Long
Foglio1.Cells(1, 1).Value = Foglio1.Cells(1, 1).Value + 1
Call test2
End Sub
测试是我最终放置电子邮件提醒宏的地方(这只是为了让我了解它是如何工作的)
然后这里是test2
Sub test2()
Dim oraricheck As New Collection
For i = 1 To 3
oraricheck.Add Foglio1.Cells(i, "l").Value
Next i
Dim orascritta As Date
orascritta = Foglio1.Cells(1, "h").Value
Dim num As Long
num = Ncoll(oraricheck, orascritta)
On Error GoTo basta
Foglio1.Cells(1, "h").Value = oraricheck(num + 1)
Call timer
basta:
End Sub
Function Ncoll(coll As Collection, ora As Date) As Long
Dim i As Long
For i = 1 To coll.Count
If coll(i) = ora Then
Ncoll = i
Exit Function
End If
Next i
End Function
所以我的想法是,我编写一个代码来提取最早的时间并将其放入一个单元格(在示例Foglio1.Cells(1,“h”).Value)中)
然后使用test2启动计时器-->test-->我创建了一组需要检查的小时数,按从最小到最大的顺序进行检查,一旦检查了最早的小时数,则第二个最小的小时数将放入H1,依此类推,直到检查完所有日期
现在我有一些问题
如果我关闭工作簿,我会停止ontime事件,如果我打开工作簿,我会继续,但是如果我打开书本,并且设置的时间已过,会发生什么
比如说
application.ontime时间值(“12:00:00”),“测试”
如果我在12点开始的时间过去了会发生什么
不设置任何内容或将在第二天的同一时间拨打电话
我再次尝试启动ontime事件close,然后在工作簿打开事件中使用resume call重新打开
Private Sub Workbook_Open()
Call timer
End Sub
子功能正常,但由于某些原因,在我在工作表中执行某些操作之前,单元格不会更新,这正常吗?还是只是一只虫子
还有一个问题
如果我建立了一个时间集合并设置了一系列ontime事件,我如何停止已经设置的事件
如果可能的话,我如何从他们被阻止的地方恢复
提前谢谢
我希望我说清楚(对不起我的英语)
Private Sub Workbook_Open()
Call timer
End Sub