易表在线答疑技术与交流用户社区 → [求助]定时器问题,如果让公式等待一段时间再执行?


  共有8080人关注过本帖树形打印复制链接

主题:[求助]定时器问题,如果让公式等待一段时间再执行?

帅哥哟,离线,有人找我吗?
justosayhi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:269 威望:0 精华:0 注册:2011/1/4 22:13:00
[求助]定时器问题,如果让公式等待一段时间再执行?  发帖心情 Post By:2011/6/29 23:11:00 [只看该作者]

易表定时器好像有问题,用addtime设置了好像不会按时执行,而且定时器公式设计非常复杂。

例如我要求如下:

在按钮运行公式对某个xls文件进行检查,当这个xls别人正在使用时就等待5秒左右再进行检查。如果重复3次后还是正在使用时再弹出提示框告诉用户。

我用addtime和deltime怎么也设置不成功,请问正确的公式应该怎样编?如果addtime不能实现的话又有什么方法可以让公式等待几秒再运行呢?

我想过设计一些无用而又复杂的公式来令易表空运行5-6秒再返回运行正确的公式,这样来实现等待功能,不知道可不可以?如果可以这个空运行的公式应该怎样写呢?


 回到顶部
帅哥哟,离线,有人找我吗?
wjq1072
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2011/6/29 23:18:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
Czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2011/6/29 23:39:00 [只看该作者]


检查xls文件增加一个定时器,间隔时间为5秒
增加一个变量用于标记是否执行定时器命令
按钮公式检测xls文件后如果符合条件,对变量赋一个特定值,不符合条件赋另一特定值
定时器公式加个判断,如果变量等于指定值,执行公式,否则不执行
增加一个数值型变量用于记录定时器执行的次数
当按下检测文件按钮后,开启定时器,这个定时器中还要有检测文件的公式
定时器公式除检测文件外,后面要加上对标记进行赋值,当正常执行过以后就不再执行检测公式了。

简单的说,按钮公式执行过程如下:
检测文件,如果正在使用,启动间隔5秒的定时器,并对记录次数的变量归零,此定时器每执行一次,对记录次数变量增加1,大于3进行提示。
检测文件,如果符合条件,执行特定公式,并对标记变量赋特定值,使定时器公式不再执行。


 回到顶部
帅哥哟,离线,有人找我吗?
justosayhi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:269 威望:0 精华:0 注册:2011/1/4 22:13:00
  发帖心情 Post By:2011/6/30 0:03:00 [只看该作者]

大概明白原理,但公式应该怎样实现呢? 下面这样?

check.bat 负责检查如果a.xls大于4mb时就复制一个b.xls,否则就不复制。

run(docdir + "check.bat") and if(exsit(docdir + "b.xls")=False,addtime("a定时器",5000,"这里不会写,主要想实现等待5秒后a.xls大于4mb时再运行copyrows公式"),copyrows... and delfile(docdir + "b.xls") and msgbox("xls文件已生成",1,4))

另外发现一个严重的问题就是公式不会等bat文件运行完毕,而是直接运行接下来的公式,这样就等于bat公式无效。。。

-=-=-=- 以下内容由 justosayhi2011年06月30日 00:40am 时添加 -=-=-=-
还有就是用addtimer发现计时器会1分钟后才运行,不管你预设是多少时间。哪怕是3秒。。。


 回到顶部
帅哥哟,离线,有人找我吗?
justosayhi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:25 积分:269 威望:0 精华:0 注册:2011/1/4 22:13:00
  发帖心情 Post By:2011/6/30 0:19:00 [只看该作者]

或者有什么公式可以令易表浪费时间运算呢?例如运行check.bat时 and 运行这个要5-8秒才能完成的没用公式 and copyrows... 这样可行吗? 这样好让check.bat有足够时间运行完成。

 回到顶部
帅哥哟,离线,有人找我吗?
Czy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2011/6/30 12:36:00 [只看该作者]

贴出批处理代码。

 回到顶部
帅哥哟,离线,有人找我吗?
wjq1072
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2011/6/30 13:07:00 [只看该作者]

“如何让公式等待一段时间再执行?”
=================
在前面加上一个延时公式不可以吗?
Eval(mid(Rept(" And SetLabel("""","""")",执行次数调节时间长短),5)) And (公式)

 回到顶部