程序中使用如下代码控制EXCEL界面成功:
pApplication.CreateInstance("Excel.Application");
pApplication->CommandBars->Item[1]->Enabled=_variant_t(FALSE);//隐藏菜单栏
pApplication->GetActiveWindow()->DisplayHeadings=_variant_t(FALSE);//隐藏行标、列标
pApplication->DisplayFormulaBar[0]=_variant_t(FALSE);//隐藏公式编辑栏
但出现了一个问题:
在程序外打开EXCEL时发现界面还是受控的,有没有办法让程序外的EXCEL界面不受控啊,请高人指点。

解决方案 »

  1.   


    pApplication.SetVisible(FALSE);  //不可见
    pApplication.SetUserControl(FALSE);//不受控
    pApplication.SetAlertBeforeOverwriting(FALSE);//覆盖时不提示
    pApplication.SetDisplayAlerts(FALSE);//不显示警告信息
      

  2.   

    你们的pApplication是什么类型,我的是_ApplicationPtr,所以出现了如下提示:
    “SetUserControl”: 不是“MSExcel::_Application”的成员
      

  3.   

    我在VC中的代码如下:
    pApplication->UserControl=_variant_t(FALSE);
    pApplication->AlertBeforeOverwriting[0]=_variant_t(FALSE);
    pApplication->DisplayAlerts[0]=_variant_t(FALSE);
    环境是VS2008SP1+OFFICE2010
      

  4.   

    但不行,还是让EXCEL受控了。
      

  5.   

    你是用vc吗
    我是用vc6导出的函数
    pApplication是_Application类型
    对了,我那边不是指针,指针的话,你看看用->试试
    SetVisible这个也很重要,excel里面几个函数互相关联的.
      

  6.   

    谢谢,VC6在做COM方面比VC8要强些啊。