gpt4 book ai didi

excel - 有没有办法在Excel宏中运行异步方法?

转载 作者:行者123 更新时间:2023-12-02 00:56:32 25 4
gpt4 key购买 nike

我在运行 Excel 宏时遇到问题,因为它会导致我的 UI 卡住。

考虑以下代码:

Call Run_Test()

Sub Run_Test()

Set oQTP= CreateObject("Quicktest.Application")

oQTP.Open "<Test Path>"
oQTP.Run"<Test Path>"

End Sub

这里的问题是,在运行上述 Run_Test 方法“oQTP.Run”时需要一些时间才能完成,在此期间如果单击 Excel 工作表,UI 将卡住。

那么有什么方法可以异步运行这个方法并防止 Excel 卡住?

或者有其他技术可以防止这种情况吗?

最佳答案

VBA本身不提供任何对异步编程的支持。程序员必须在嵌套循环中显式调用DoEvents,以允许处理 Windows 消息队列。

但是,VBA 调用的函数库可以提供异步调用。经典 ADO 通过提供将查询调用指定为异步的选项来实现,并在调用完成(成功或不成功)时引发事件。

如果您需要自定义代码异步运行,则必须在提供此类支持的环境(例如 C# 或 VB.NET)中对其进行编码,并调用生成的程序集。

关于excel - 有没有办法在Excel宏中运行异步方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26086589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com