MS Access中的VBA +线程

Cur*_*che 11 ms-access multithreading vba access-vba

如何在MS Access VBA中的单独线程上创建运行的进程?我想创建一个只会等待消息的进程.

Vig*_*goV 6

您可能需要查看此解决方法:http://www.excelhero.com/blog/2010/05/multi-threaded-vba.html

它是Excel,但实际上应该是相同的.它通过构建VBScript"代理"并让它们执行任务来工作.检查示例,它是相当令人印象深刻的

-Viggo


Ree*_*sey 5

无法直接在VBA本身中执行此操作。 这是一个MSDN论坛讨论,详细讨论了这一点。Office从未公开过任何用于多线程的VBA扩展。

但是,您可以通过调出Windows API或在VBA中创建自己的COM对象(在其他地方编写)来执行此操作,该对象将为您执行多线程调用。只要确保将所有内容以某种方式封送回调用线程(可能针对您的COM对象进行轮询,或者类似的操作)。

同样,您可能想查看关于COM线程的bentewey的链接,因为它与此非常相关。


Mar*_*old 3

好问题,但我认为这是不可能的。

  • +1:正确。您可以编写一个多线程组件(或使用现有的组件)并从 VBA 调用它,但 VBA 本身并不是多线程的。 (2认同)