如果我正在调试(在本例中是 Excel 调用的 Visual Studio 程序集)并且代码更新了 Excel 工作表,我如何让 Excel 在调试器中暂停时重绘当前工作表/窗口?
最佳答案
如果您正在调用 Excel 跨进程(例如通过自动化),那么 Excel 应该会在调用时自动显示任何更改,除非您设置了 xlApp.ScreenUpdating = False
。如果是这种情况,那么如果在设置断点时以 Debug模式运行,则最好使用条件不设置 xlApp.ScreenUpdating = False
。否则,您必须从其他进程中设置 xlApp.ScreenUpdating = True
(使用 GetObject()
或类似的方式,以便您可以获取相同的 Excel 应用程序实例)。
但是,如果您的代码在进程中被调用(例如,如果您的代码作为加载项运行),那么您的代码将通过热键组合、CommandBar 按钮、功能区控件回调或喜欢。在这种情况下,Excel 是单线程的,您的代码将停止所有 Excel 的执行。在这种情况下,我唯一能想到的就是使用“编辑并继续”,添加 xlApp.ScreenUpdating = True
行,然后进入下一行。 (不过记得之后删除这一行!)
如果您没有使用 xlApp.ScreenUpdating = False
,那么我真的不知道您的问题是什么,您必须提供有关代码的更多详细信息...
关于c# - 如何在调试时刷新 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/239609/