我在C#WinForm应用程序中添加了对Microsoft.Office.Interop.Excel.dll
的引用并使用DSO FRAMER CONTROL打开了Excel文件。但是我想用只读保护打开我的excel文件。我已经成功地为WORD Application做了这个
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.
答案 0 :(得分:11)
答案 1 :(得分:-1)
WorkBook类有一个Protect方法,类似于(但不完全相同)Word支持的方法。我找不到COM / interop文档,但VSTO文档涵盖相同的基础,方法签名是相同的:
保护工作簿,使其无法修改。
public virtual void Protect (
[OptionalAttribute] Object Password,
[OptionalAttribute] Object Structure,
[OptionalAttribute] Object Windows
)
(这一切都假设你想要实现的是保护文档,因为这就是Word代码所做的,而不是打开文档只读,这就是你的叙述似乎在说,在这种情况下, @gdoron's answer更合适