我已經使用pywin32在Python中創建了自定義對象。同時調用該對象需要一些時間。 以下是我在嘗試使應用程序stat異步,以便在運行宏時應用程序不freez。如何在vba中執行異步函數調用
Sub demo()
demofunction
End Sub
Function demofunction()
Dim demoobj As Object
Do While demoobj Is Nothing
DoEvents
Set demoobj = CreateObject("Python.DemoObj")
Loop
Debug.Print demoobj.Hello
End Function
很明顯,代碼在異步運行方面不起作用。這甚至有可能如何?
上面的代碼,但工作正常,同時凍結一段時間的應用程序。
'CreateObject'是一個阻塞調用。循環實際上沒有做任何事情。 – Comintern
感謝您正確理解我想要的東西。這就是爲什麼我明顯地。我的代碼只是爲了解釋。 – Rahul
VBA不會執行異步或多線程。如果這是一項要求,你需要一個更新/強大的語言。考慮VB.NET或C#....或者用VBScript + VBA破解異步解決方案。你有沒有研究過這個問題? –