Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel vba ontime事件如果超过了设置的时间会发生什么_Excel_Vba_Ontime - Fatal编程技术网

Excel vba ontime事件如果超过了设置的时间会发生什么

Excel vba ontime事件如果超过了设置的时间会发生什么,excel,vba,ontime,Excel,Vba,Ontime,我正试图用vba usind application.ontime事件编写电子邮件提醒,但这是我第一次,所以我有一些问题 首先,我要做的是: 我有一张这样的桌子 如果在显示的时间前一个小时内未单击ok按钮,我希望发送一封电子邮件,因此我正在尝试使用ontime事件的一些代码,我知道可能会触发多个时间事件,因此为了避免忘记ontime呼叫,我想做这样的事情: (这只是一个练习册,一旦我想好了,我会在真正的练习册上修改代码) 这是启动定时器子,然后在这里测试 Sub test() Dim i A

我正试图用vba usind application.ontime事件编写电子邮件提醒,但这是我第一次,所以我有一些问题

首先,我要做的是:

我有一张这样的桌子

如果在显示的时间前一个小时内未单击ok按钮,我希望发送一封电子邮件,因此我正在尝试使用ontime事件的一些代码,我知道可能会触发多个时间事件,因此为了避免忘记ontime呼叫,我想做这样的事情:

(这只是一个练习册,一旦我想好了,我会在真正的练习册上修改代码)

这是启动定时器子,然后在这里测试

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