我们被要求不要再由我们的客户使用Application.OnTime。这是我们的先决条件,对不起,我们无法控制。我们可以使用.NET System.Windows.Forms.Timer来替换Excel VBA Application.onTime吗?
但由于我们需要定期运行一些任务,我们需要找到一个替代计时器。我们已经尝试了System.Timers.Timer,但它对Microsoft Excel有一些问题。原因是Microsoft Excel不支持多线程,但System.timers.timer使用多线程。
所以现在我们要试试System.Windows.Forms.Timer。这个计时器使用Windows消息泵,它似乎应该适用于Microsoft Excel。我们可以在C#中使用System.Windows.Forms.Timer,然后定期向VBA引发一个事件。
从Kenny Kerr的文章http://weblogs.asp.net/kennykerr/Rtd3看来,我们的想法很好。但是有人可以深入了解System.Windows.Forms.Timer的工作原理,并从底层理论中回答为什么它可以工作。
这听起来像是在要求别人为你做你的研究。 – 2014-11-14 17:46:52
其实我做了很多研究,但是我还是没有得到答案。 – 2014-11-14 17:50:22
而您希望其他人“深入挖掘并弄清楚System.Windows.Forms.Timer的工作方式” – 2014-11-14 17:51:21