我现在要用到一段代码,
根据给出的时间来调用一个程序 gs_AutoTotal().2005/7/12 10:15  这一准确时间执行  gs_AutoTotal().
     7/12 10:15  每年的7/12 10:15 自动执行,
       12 10:15  每月的  12 10:15 自动执行,
          10:15  每天的     10:15 自动执行.1.ontime 函数的四个参数是什么意思.主要是第四个.
2.如果当前系统时间,已经超过了ontime指定的时间,则不再启动 gs_AutoTotal().怎么实现啊?我在测试的时候,如果系统时间已经过去了,它马上就会执行.
3.上述的要求怎么实现啊?其他的都可以直接用ontime来实现,唯独第三个,给定了 12 10:15,要求每月执行的情况,不能直接使用ontime函数.因为这个不是一个符合要求的时间格式.提供一个思路也可以,给出代码最好.谢谢各位高手啦.

解决方案 »

  1.   

    格式:
    application.onTime(EarliestTime,Procedure,[lastestTime],[Schedule])
    EarliestTime  必须,表示时间或日期的数字,代表什么时候运行Procedure指定的过程,要求用系列日期数
    Procedure要执行的过程的名字
    如果EXCEL不在EarliestTime指定的时间到来时执行指定的过程,则他将在由LastestTime指定的时间到来时再执行该过程.如果忽略Lastest,则将在EarliestTime指定的时间之后尽可能早地执行该过程
    所以,你的问题,不要忽略第3个参数Schedule是个Boolean值,,用来说明Excel是否要在指定的时间执行指定的过程,如果为True或被忽略,则将在指定时间执行,如果为False则取消OnTime设置
      

  2.   

    楼上的高手,首先谢谢你的帮忙,问题解决了一部分.
    其次,我的问题还没有完全解决,热切盼望你的帮忙,你可一定要再来呀!!问题是这样的:
    要求在设定的时间执行一个过程:gs_AutoTotal().
    启动的时间呢,是从一个单元格里取出来的,
    这个时间可能有下面的这四种情况.
    比如:
    2005/7/12 10:15  要求在这一准确时间执行  
         7/12 10:15  要求在每年的7/12 10:15 自动执行,
           12 10:15  要求在每月的  12 10:15 自动执行,
              10:15  要求在每天的     10:15 自动执行.
    也就是说根据取出来的时间来设定这个OnTime.
    除了第一种情况,后面这三种都要求循环执行的.也就是说,每到了那个时间就要执行一次.
    循环的情况我实现出了一种,就是每天的这种情况.(使用TimeValue("00:00:00")来实现的).
    每月和每年的情况不好实现,因为TimeValue只能加一天.要加一月或一年的话,就要在后面跟上一大串的TimeValue.另:我的QQ是3419537(MSN:[email protected]),如果你愿意的话,我想跟你聊一下,问你一下这方面的问题.不知道可以吗?