2017-10-19 35 views
2

我目前使用以下選項來保護工作表。如何使用C#互操作來保護表單但允許選擇

dataWorksheet.Protect(result.protectionPassword.ToString(), false, true, false, false, true, true, true, false, false, false, false, false, false, true, true); 

上述選項保護工作表並且不允許選擇受保護工作表。從另一片參照單元值時,所以我想保護內容(值),但允許該細胞的選擇

然而,這樣的保護是不方便的。

所以我記錄在Excel中的宏和選項有DrawingObjects:true, contents:true, scenarios:true。我嘗試過這種選擇的組合,但一直沒有成功。

以下是互操作protect方法的文檔。

https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-protect-method-excel

如何保護的方式在工作表的選擇是可能的,但值不能被篡改?

回答

0

爲xls文件格式的唯一片保護選項爲片狀物品(DrawingObjects:真),細胞內容(內容:真)和場景(場景:真)。

爲XLSX文件格式的工作表保護選項更加靈活,也包括您所需要的細胞選擇選項。

的Worksheet.Protect方法似乎包括一些可用於XLSX文件格式的保護選項,但不包括小區的選擇。

最有可能的是,您需要切換到XLSX文件格式並使用與Interop不同的庫來創建Excel文件。

默認行爲是允許單元格選擇。

相關問題