做了个excel插件,在个别机器上加载失败,程序如下:
public void OnStartupComplete(ref System.Array custom)
        {
            MessageBox.Show("4");
            //添加定制工具条
            try
            {
                string caption = "测试插件";
                object missing = System.Reflection.Missing.Value;                MessageBox.Show("5");
                //看看工具条是不是已经存在
                toolBar = (Microsoft.Office.Core.CommandBar)ExcelApp.CommandBars.FindControl(Microsoft.Office.Core.MsoBarType.msoBarTypePopup, missing, caption, true);
              
                if (toolBar == null)
                {
                    MessageBox.Show("6");
                    toolBar = (Microsoft.Office.Core.CommandBar)ExcelApp.CommandBars.Add(caption, Microsoft.Office.Core.MsoBarPosition.msoBarTop, missing, false);
            
                    toolBar.Visible = true;
                }                   }
            catch (Exception e)
            {
                MessageBox.Show("添加插件工具条失败,异常信息:" + e.Message, "Tender System");
            }}
可是在机器上调试也没有出现什么问题,就是在有些机器上不行,原先我以为与机器环境有关(也不排除此可能),但测试发现没有触发OnStartupComplete,好像是代码问题,因为如果去掉其中的主要代码,就可以触发OnStartupComplete,高手们帮忙看看上面那段代码有什么问题,我看资料上也是这样写的啊,不知为啥就不行

解决方案 »

  1.   

    是不是有些机器上的office版本不一样?
      

  2.   

    但测试发现没有触发OnStartupComplete,好像是代码问题,因为如果去掉其中的主要代码,就可以触发OnStartupComplete去掉什么主要代码?
      

  3.   

    就是这段
    toolBar = (Microsoft.Office.Core.CommandBar)ExcelApp.CommandBars.FindControl(Microsoft.Office.Core.MsoBarType.msoBarTypePopup, missing, caption, true); 
                   
                    if (toolBar == null) 
                    { 
                        MessageBox.Show("6"); 
                        toolBar = (Microsoft.Office.Core.CommandBar)ExcelApp.CommandBars.Add(caption, Microsoft.Office.Core.MsoBarPosition.msoBarTop, missing, false); 
                 
                        toolBar.Visible = true; 
                    }      
      

  4.   

    我怀疑是上面代码的问题,我看msdn上好像也这么写的啊 怪啦
      

  5.   

    去掉这段代码与否,跟触发OnStartupComplete有什么关系?
      

  6.   

    确认下office版本
    2003也分sp1
      

  7.   

    这个东西将来给各个客户端装的 按理是要支持常用版本的啊 机器上装的都是office 2003啊
      

  8.   

    Microsoft.Office.Core 看一下这个包的说明?
      

  9.   

    好像与excel安装有关 安装后好了 哈哈  结贴