如何使用C#interop保护表单,但允许select
我目前使用以下选项来保护工作表。
dataWorksheet.Protect(result.protectionPassword.ToString(), false, true, false, false, true, true, true, false, false, false, false, false, false, true, true);
上述选项保护表单,不允许select受保护的表单。
然而,这种保护是不方便的,当从另一个表单元值,所以我想保护内容(值),但允许select单元格。
所以我在Excel上logging了这个macros,并在那里显示了DrawingObjects:true, contents:true, scenarios:true
。 我已经尝试了这个选项的组合,但没有成功。
以下是互操作protect
方法的文档。
https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-protect-method-excel
我怎样才能保护工作表的方式可以select,但价值观不能被篡改?
xls文件格式的唯一表单保护选项是针对表单对象(DrawingObjects:true),单元格内容(内容:true)和scheme(scheme:true)。
xlsx文件格式的表格保护选项更加灵活,还包括您需要的单元格select选项。
Worksheet.Protect方法似乎包含一些可用于xlsx文件格式的保护选项,但不包括对单元格的select。
最有可能的是,您需要切换到XLSX文件格式并使用与Interop不同的库来创buildExcel文件。
默认行为是允许单元格select。