📜  vba 保持命令窗口打开 - VBA (1)

📅  最后修改于: 2023-12-03 15:05:48.215000             🧑  作者: Mango

VBA 保持命令窗口打开

在使用 VBA 编写程序时,我们有时需要查看程序执行过程中的信息。在这种情况下,使用命令窗口(即 Immediate 窗口)便是一个不错的选择。

然而, VBA 默认情况下是不会保持命令窗口打开的,当程序执行完毕时,你会发现命令窗口立刻消失了。这时可以通过以下代码片段来实现保持命令窗口打开的效果:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub Test()
    Debug.Print "执行中..."
    DoEvents
    Sleep 3000 '休眠 3 秒钟
    Debug.Print "执行完成!"
End Sub

这段代码利用了 Windows 的 Sleep 函数,在循环中休眠了 3 秒钟,期间可以查看 Immediate 窗口中的输出,直到程序执行完毕。注意,调用 DoEvents 函数可以在等待期间让程序继续响应其他事件。

如果你更希望不需要等待就可以实现保持命令窗口打开的效果,可以在程序执行结束后添加一个无穷循环。例如:

Sub Test()
    Debug.Print "执行中..."
    DoEvents
    '程序执行代码...
    Debug.Print "执行完成!"
    
    While True
    Wend '无限循环使命令窗口保持打开
End Sub

这个方法的缺点是需要手动终止无穷循环,而且在有些情况下可能会导致 VBA 编辑器崩溃。因此,建议在测试或调试时使用,在正式程序中应使用前一种方法。