如何以只读模式打开Excel文件?
我正在使用VS2008,C#,与WPF应用程序(WebBrowser和Microsoft.Office.Interop.Excel)我有一个任务:托pipe在WPFforms的Excel模式只读。
我怎样才能做到这一点:
首先1.在WebBrowser中加载Excel文件
Uri _uri = new Uri("FilePath"); WebBrowserExcel.Navigate(_uri);
Next 2.在事件WebBrowserExcel_LoadCompleted中
if ((WebBrowserExcel.Document as Excel.Workbook) == null) return; try { //Get loading WorkBook and set "Protect" for disable editing _Book = WebBrowserExcel.Document as Excel.Workbook; _Book.Protect("", Type.Missing, Type.Missing); //Set "Protect" for disable editing to WorkSheet foreach (Excel.Worksheet _sheet in _Book.Sheets) { _sheet.Protect("", Type.Missing,Type.Missing, Type.Missing,Type.Missing, true,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing ); } } .....
之后,我有一个Excel的MessageBox,当我尝试在WebBrowser中编辑文件。 MessageBox的文本:“本书受保护…等”或“此表受保护…等”
要隐藏这个消息框,我需要设置属性Excel.Application.DisplayAlerts = false;
3. Set property _Book.Application.GetType().InvokeMember("DisplayAlerts", BindingFlags.SetProperty, null, _Book.Application, new object[] { false });
并有例外:
InnerException = {"could Not set the property DisplayAlerts Application class"}
但如果创build应用程序(而不是从WebBrowserExcel.Document)我可以设置DisplayAlerts,但我不能将Excel.Application托pipe到WebBrowser,只有Excel的文件…
有没有方法在WebBrowser中只读设置Excel的文件? 或者如何设置“DisplayAlerts”?