2008-10-27 45 views
3

如果我正在調試(在這種情況下是由Excel調用的Visual Studio程序集)並且代碼更新了Excel工作表,那麼如何讓Excel在暫停時重新繪製當前工作表/窗口調試器?如何在調試時刷新Excel

回答

2

如果您正在調用Excel跨進程(例如,通過自動化),則除非您設置了xlApp.ScreenUpdating = False,否則Excel會在調用時自動顯示任何更改。如果是這種情況,那麼如果在設置了斷點的情況下以調試模式運行,那麼最好使用條件來不設置xlApp.ScreenUpdating = False。否則,你必須設置xlApp.ScreenUpdating = True從其他進程(使用GetObject(),或類似的東西,以便您可以獲取相同的Excel應用程序實例)。但是,如果您的代碼在進程中被調用(例如,如果您的代碼是作爲加載項運行的),那麼您的代碼正在通過熱鍵組合,CommandBar按鈕,Ribbon控件回調或類似。在這種情況下,Excel是單線程的,您的代碼正在暫停所有Excel執行。在這種情況下,我唯一能想到的就是使用「編輯並繼續」,添加行xlApp.ScreenUpdating = True,然後進入下一行。 (但是請記住,之後刪除此行,但!)

如果您不使用xlApp.ScreenUpdating = False,那麼我不知道您的問題是什麼,並且您必須提供有關代碼的更多詳細信息...

+1

不能說得更好 – Jon 2008-10-28 15:10:31