2012-03-29 74 views
2

私は1枚のシートしか保護できませんが、Excelドキュメントのすべてのシートを保護しようとすると、SheetProtectionを追加しようとするとエラーが発生します。OpenXML - すべてのシートを保護

正しく理解していれば、SheetDataの後にSheetProtectionを追加する必要があります。各シートにSheetProtectionのインスタンスを作成し、これを解決

SheetProtectiond wSheetProtection = new SheetProtection 
          { 
           Sheet = true, 
           Objects = true, 
           Scenarios = true, 
           Password = GetSheetPassword(wWorkbookPassword) 
          }; 

foreach(Sheet sheet in wSheet) 
{ 
    WorksheetPart worksheetPart = GetWorkSheetPartBySheetID(m_SpreadsheetDocument.WorkbookPart, sheet.Id); 
    worksheetPart.Worksheet.InsertAfter(wSheetProtection, worksheetPart.Worksheet.Descendants<SheetData>().LastOrDefault());      
} 
+3

質問自体を変更するのではなく、質問の回答を作成する方が良いです。 – Flowerking

答えて

0

: はここに私のコードです。

関連する問題