我想知道是否有办法在另一个线程上运行shell窗口而不是excel?
我的想法是在启动shell时不冻结excel。
例如:
Dim objShell
Set objShell = WScript.CreateObject ("WScript.shell")
objShell.run "cmd /K CD C:\ & Dir"
Set objShell = Nothing
感谢您的帮助
答案 0 :(得分:1)
答案是否定的,您无法在Excel中创建多线程应用程序。
但是,您可以使用Application.ScreenUpdating = False
锁定当前的Excel工作簿。
请确保在代码末尾启用它,如Application.ScreenUpdating = True
希望有所帮助!
答案 1 :(得分:1)
我同意并不同意Praktik。我同意,因为您无法在Excel中创建真正的多线程应用程序。我不同意,因为你可以使用一些技巧来执行另一个脚本。
让我们假设您有一个名为" Script.vbs"的vbs脚本。然后你可以像这样编码taskId = Shell("wscript Script.vbs parms")
。该脚本将独立于您的VBA程序运行。但这可能不是你想要的。