循环暂停,是非常实用的功能, lsy老师的“暂停循环实例”没有公开源码,因工作需要自己写吧!自己愚钝,花了半天的时间(不用MessageBox),经过n次测试才写了出来,核心代码只有47字。功能如下:
循环【表A】,每循环一行就去执行一个任务,执行任务这个时间就暂停循环,收到任务结束的信息后,恢复循环!
优点:代码简洁,循环结束什么都不用去“销毁”。
缺点:循环期间CPU占用率在18%-25%,循环结束很快下降到正常水平。
要求:代码必须严谨(务必返回恢复循环的值),避免造成死循环!
应用:1、任务完成时间不太长的情况。2、暂停后面的代码执行。
(有10人需要就公开源码)
以下内容只有回复后才可以浏览
[此贴子已经被作者于2015/12/15 12:56:44编辑过]
'''
Vars("Mark1") = True
If Vars("s") Is Nothing Then
Vars("s") = 1
End If
Dim Sum As Integer
Dim i As Integer
For i = Vars("s") To 100
If Vars("Mark1") Then
Sum = Sum + i
Else
Vars("s") = i
End If
Next
Output.Show(Sum)
暂停
Vars("Mark1") = False
以下是引用qianqian1530在2015/12/6 13:42:00的发言:
'''
Vars("Mark1") = True
If Vars("s") Is Nothing Then
Vars("s") = 1
End If
Dim Sum As Integer
Dim i As Integer
For i = Vars("s") To 100
If Vars("Mark1") Then
Sum = Sum + i
Else
Vars("s") = i
End If
Next
Output.Show(Sum)
暂停
Vars("Mark1") = False
这个已测试过,是再次启动循环,并非暂停。
Do Until vars("开关") = False
'Application.DoEvents
Loop
以下是引用gua12gua在2015/12/6 14:59:00的发言:
楼主分享呗
难得啊,第一次看见老兄回帖没用 ddddd
楼主:
个人感觉,这种用例,用循环暂停不如用队列。用变量通知一个执行一个。
以下是引用游在2015/12/6 15:12:00的发言:
楼主:
个人感觉,这种用例,用循环暂停不如用队列。用变量通知一个执行一个。
分享一下吧!