如何打开只读保护的Excel文件?

我在我的C#WinForm应用程序中打开了Excel文件,添加了对Microsoft.Office.Interop.Excel.dll引用,并使用了DSO FRAMER CONTROL。 但是我想用只读保护打开我的excel文件。我已经成功地为WORD应用做了这样的事情

 Word.Document wordDoc = (Word.Document)axFramerControl1.ActiveDocument; Word.Application wordApp = wordDoc.Application; wordDoc.Protect(Word.WdProtectionType.wdAllowOnlyReading); 

同样我想为Excel做这项工作,但我不能保护Excel文件的方式。

 string path = "C:\\test-wb.xlsx"; axFramerControl1.Open(path, true,"excel.sheet", "", ""); Excel._Workbook excelDoc =(Microsoft.Office.Interop.Excel._Workbook)axFramerControl1.ActiveDocument; Excel.Application excelApp =excelDoc.Application; //What code should i write to protect Excel Workbook with read - only. excelDoc.Protect(misval, true, misval);//It is not working. 

用第三个参数( ReadOnly )= true调用Open方法。

请参阅MSDN 文档 :

只读
可选对象。 如果是以只读模式打开工作簿。

WorkBook类有一个Protect方法,与Word支持的类似(但不完全相同)。 我无法findCOM / interop文档,但VSTO文档覆盖了相同的地方,方法签名是相同的:

保护

保护工作簿,使其不能被修改。

 public virtual void Protect ( [OptionalAttribute] Object Password, [OptionalAttribute] Object Structure, [OptionalAttribute] Object Windows ) 

(这一切都假设你想达到的目的是为了保护文档,因为这是Word代码的function,而不是打开文档只读,这就是你的叙述似乎是说,在这种情况下, @ gdoron的答案比较适合