如何打开只读保护的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的答案比较适合