我在Excel中创建一个仪表板,连接数据库并每15分钟更新一次。我已经使用下面的代码为此创建了一个调度程序。但是,我还希望在15分钟的等待时间内,仪表板会循环显示每张纸张1分钟的所有纸张。如何在我的代码中构建第二级计划?
my_procedure是连接到数据库并更新工作簿中数据的宏。
Public Sub scheduler_1()
Call my_procedure
Call scheduler_2
End Sub
Public Sub scheduler_2()
RunWhen = Now + TimeValue("00:15:00")
Application.OnTime RunWhen, "scheduler_1"
End Sub
答案 0 :(得分:0)
看起来我能够很快解决它。我在scheduler_2宏中添加了一个循环
Public Sub custom_wait(ByVal i As Integer)
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + i
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
End Sub
custom_wait宏的位置是:
struct S
{
using iterator =
boost::indirect_iterator<std::vector<char*>::iterator>;
using const_iterator =
boost::indirect_iterator<std::vector<char*>::const_iterator>;
iterator begin() { return iterator(vec_.begin()); }
iterator end() { return iterator(vec_.begin()); }
const_iterator begin() const { return const_iterator(vec_.begin()); }
const_iterator end() const { return const_iterator(vec_.begin()); }
private:
std::vector<char*> vec_;
};
答案 1 :(得分:0)
您可以每分钟运行一个调度程序来循环遍历工作表,并使用Static Date
内的scheduler_2
变量在15分钟后计算出来,然后运行my_procedure
。