如何在调试时刷新Excel

本文关键字:刷新 Excel 调试 | 更新日期: 2023-09-27 17:47:24

如果我正在调试(在本例中是Excel调用的Visual Studio程序集),并且代码更新了Excel工作表,那么在调试器中暂停时,如何让Excel重新绘制当前工作表/窗口?

如何在调试时刷新Excel

如果您正在跨流程调用Excel(例如通过Automation),则Excel应在进行调用时自动显示任何更改,除非您设置了xlApp.ScreenUpdating = False。如果是这种情况,那么如果在设置断点时以调试模式运行,则最好使用不设置xlApp.ScreenUpdating = False的条件。否则,您必须从其他进程设置xlApp.ScreenUpdating = True(使用GetObject()或类似的程序,以便获取相同的Excel应用程序实例)。

但是,如果您的代码是在进程中调用的(例如,如果代码作为外接程序运行),则您的代码将通过热键组合、CommandBar按钮、Ribbon控件回调等触发。在这种情况下,Excel是单线程的,您的代码将停止所有Excel执行。在这种情况下,我唯一能想到的就是使用"编辑并继续",添加行xlApp.ScreenUpdating = True,然后进入下一行。(不过,记得以后删除这行!)

如果您没有使用xlApp.ScreenUpdating = False,那么我真的不知道您的问题是什么,您必须提供有关代码的更多详细信息。。。