在C#中为VSTO“locking”Excel工作簿

有没有办法lockingExcel工作簿,以至于无法select任何单元格和/或更改任何工作簿的信息? 基本上,当我的程序处于导出模式时,我不希望用户能够更改数据或select任何单元格。

也许这样: locking工作表

由MSDN给出的代码片段:

Globals.Sheet1.Protect(getPasswordFromUser, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, true, missing, missing); 

你应该能够做到这一点,而不使用Globals.Sheet1,因为MSDN假定你有这样一个表。 做编程应该是可能的。

编辑:locking工作簿本身,但似乎要locking工作簿和工作表: 工作簿locking

 this.Protect(getPasswordFromUser, missing, missing); 

密码是optionnal:

保护和取消保护方法允许您保护Microsoft Office Excel 2003工作簿,以便用户不能添加或删除工作表,并再次取消保护该工作簿。 您可以select指定密码,指示是否要保护结构(以便用户无法移动工作表),并指出是否要保护工作簿的窗口。

保护工作簿不会阻止用户编辑单元格。 要保护数据,您必须保护工作表。 有关更多信息,请参阅如何:保护工作表。

这里是Excel中的另一个常用任务