在C#中“锁定”VSTO的Excel工作簿

时间:2012-03-08 20:30:24

标签: c# locking vsto excel

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

1 个答案:

答案 0 :(得分:2)

也许这样:Locking worksheets

MSDN提供的代码段:

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

您应该可以在不使用Globals.Sheet1的情况下执行相同的操作,因为MSDN假定您有这样的工作表。以编程方式执行它应该是可能的。

编辑:锁定工作簿本身,但您似乎想要锁定WorkBook和工作表: Workbook locking

this.Protect(getPasswordFromUser, missing, missing);

密码是optionnal:

  

Protect和Unprotect方法允许您保护Microsoft Office Excel 2003工作簿,以便用户无法添加或删除工作表,以及再次取消保护工作簿。您可以选择指定密码,指示您是否希望结构受到保护(因此用户无法移动工作表),并指明您是否希望工作簿的窗口受到保护。

     

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

这是另一个链接Common tasks in Excel