繁体   English   中英

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

[英]How to open Excel file with Read Only protection?

我已在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 文档

只读
可选对象。 如果为True,则以只读模式打开工作簿。

WorkBook类具有Protect方法,与Word支持的方法相似(但不相同)。 我找不到COM / interop文档,但是VSTO文档涵盖了相同的领域,并且方法签名是相同的:

保护

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

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

(所有这些都假设您要实现的是保护文档,因为这就是Word代码的作用,而不是仅以只读方式打开文档,这就是您的叙述所说的,在这种情况下, @ gdoron的回答更合适

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM