private void Form2_Load(object sender, System.EventArgs e)
{
AxSHDocVw.AxWebBrowser axWebBrowser1=new AxSHDocVw.AxWebBrowser();
string strFileName = @"E:\save\Book1.xls";
Object refmissing = System.Reflection.Missing.Value;
try
{
axWebBrowser1.Navigate(strFileName, ref refmissing , ref refmissing , ref refmissing , ref refmissing);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
   MessageBox.Show(ex.Source);

}

} private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
{

Object o = e.pDisp;
Object oDocument = o.GetType().InvokeMember("Document",BindingFlags.GetProperty,null,o,null);
Object oApplication = o.GetType().InvokeMember("Application",BindingFlags.GetProperty,null,oDocument,null);
Excel.Application eApp =(Excel.Application)oApplication;
Object refmissing = System.Reflection.Missing.Value;
axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_HIDETOOLBARS, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DONTPROMPTUSER,ref refmissing , ref refmissing);
}
这是出现异常的代码不过同样的代码我在main()中用System.Windows.Forms.Run(New Form2())就可以正常显示

解决方案 »

  1.   

    又调试了一段时间
    发现上面的异常只会在form2是form1的子窗口时出现,否则正常,什么原因
    知道的帮忙分析分析
      

  2.   

    把form2_load()中的代码放到form2()中InitializeComponent();后试试!
      

  3.   

    请教NavigateComplete2中的代码有什么作用?
      

  4.   

    照楼上的调试了下
    异常没有了,可是excel文档却没有显示出来了,什么原因
    我的NavigateComplete2中的代码主要用来取得正在运行的excel进程,方便后面的关闭,同时最后两行代码作用是把excel的工具栏添加进来