Click here to Skip to main content
12,953,263 members (83,100 online)
Rate this:
 
Please Sign up or sign in to vote.
Hi All,

I am using VS2008, C#, with WPF application (WebBrowser and Microsoft.Office.Interop.Excel)
I have a task : Hosting Excel on WPF-form in mode readonly.

How can i do this:
1. Loading Excel file in WebBrowser
Uri _uri = new Uri("FilePath");
WebBrowserExcel.Navigate(_uri);

2. In Event 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
                          );
        } 
    }
    .....


After this I have an Excel's MessageBox, when I try to edit file in WebBrowser. MessageBox's text:
"This Book is Protected...etc" or "This Sheet is Protected...etc"

To hide this messagebox i need to set the property
Excel.Application.DisplayAlerts = false;


3. Set property
_Book.Application.GetType().InvokeMember("DisplayAlerts", BindingFlags.SetProperty, null, _Book.Application, new object[] { false });

and have Exception :
InnerException = {"could Not set the property DisplayAlerts Application class"}

but if create Application (not get from WebBrowserExcel.Document) I can set DisplayAlerts, but I can't hosting Excel.Application into WebBrowser, only Excel's file...

Are there ways to set Excel's file readonly inside WebBrowser? or how to set 'DisplayAlerts'?

Thanks in advance, Alex...
Posted 8-Oct-12 23:09pm
Updated 8-Oct-12 23:27pm
v3

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 6,429
CHill60 3,490
Maciej Los 3,103
Jochen Arndt 1,975
ppolymorphe 1,920


Advertise | Privacy | Mobile
Web02 | 2.8.170525.1 | Last Updated 11 Oct 2012
Copyright © CodeProject, 1999-2017
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100