事情是这样的:
我们的一个应用程序需要通过VSTO代码方式操作本地的Excel,包括打开工作簿,生成新的工作簿,设置数据,并且保存为新文件等等。
该程序在Excel 2003的环境下没有任何问题,但是在Excel 2007或者是Excel 2010中就老是遇到中途被卡住的状况。
究其原因,是因为我们想将文件继续保存为Excel 2003格式,但Excel 2007或者Excel 2010默认会有一个兼容性检查的功能。如下
如果将“Check compatiblity when saving this workbook”的选项关闭,则问题可以解决。
但是,如果你无法确保用户那边关闭了该选项,也可以通过程序的方式临时关闭检查
有两种方式实现这样的需求
第一种:在Application级别关闭警告
If (app Is Nothing) Then app = New Excel.Application app.Interactive = False app.UserControl = False app.DisplayAlerts = False app.Visible = False app.ScreenUpdating = False End If