Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何使COM加载项处于非活动状态?_Vba_Excel_Comaddin - Fatal编程技术网

Vba 如何使COM加载项处于非活动状态?

Vba 如何使COM加载项处于非活动状态?,vba,excel,comaddin,Vba,Excel,Comaddin,我有一个COM外接程序,我想用VBA代码(或者用另一个Excel外接程序“.xla”)使其处于非活动状态 这是我公司的内部COM插件 此COM加载项的工作:关闭工作簿时,将生成一个表单。此表单询问哪种类型的工作簿(如私人、机密) 可以通过以下方法使此COM加载项在没有VBA的情况下处于非活动状态: Excel>选项>加载项 单击“管理-COM加载项”和“转到” 从外接程序管理器中取消选择该外接程序并单击“确定” 但是,打开新工作簿后,外接程序将重新开始工作 此问题的解决方案是使用“工作簿\

我有一个COM外接程序,我想用VBA代码(或者用另一个Excel外接程序“.xla”)使其处于非活动状态

这是我公司的内部COM插件

此COM加载项的工作:关闭工作簿时,将生成一个表单。此表单询问哪种类型的工作簿(如私人、机密)

可以通过以下方法使此COM加载项在没有VBA的情况下处于非活动状态:

  • Excel>选项>加载项

  • 单击“管理-COM加载项”和“转到”

  • 从外接程序管理器中取消选择该外接程序并单击“确定”

  • 但是,打开新工作簿后,外接程序将重新开始工作

    此问题的解决方案是使用“工作簿\打开”事件创建VBA代码(/Excel加载项),以断开COM加载项的连接:

    Application.COMAddIns("AddinName").Connect = False
    
    但是下面的错误:
    此加载项是为此计算机上的所有用户安装的,只能由管理员连接或断开连接

    如果可以手动使此COM加载项处于非活动状态,那么为什么VBA代码不允许使用它