防止Excel更新C#中的屏幕

我正在为Excel 2010编写VIsual C#中的加载项。此加载项从我们的服务中检索一些数据,并将结果写入特定电子表格的单元格中。 不过,我不希望Excel显示填充单元格的值,因为这需要很多时间。 所以我试了下面这段代码:

ExcelApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); ExcelApp.ScreenUpdating = false; GetFolderTreeRecursive(FolderTree); ExcelApp.ScreenUpdating = true; 

GetFolderTreeRecursive基本上处理Web服务调用,并将响应值写入Excel单元格,如下所示:

Globals.TestCases.Cells[FolderTreeRowIndex, FolderTreeColumnIndex].Value2 = CurrentFolder.recordid;

不幸的是,Excel仍然显示所有正在写入的单元格。 我究竟做错了什么?

我只是引用了错误的Excel应用程序对象。 使用下面的语句返回当前的Excel应用程序,而不是一个新的,因为我已经意识到了。

ExcelApp = Globals.ThisWorkbook.ThisApplication;