我遇到一个问题,即外接程序的ProgID是MyAddin,而我希望它是MyAddin.Connect,因为VBA引用了MyAddin.Connect,因此已有很多电子表格。

我已经将csproj文件,清单和vsto文件中的MyAddin的每个实例更改为MyAddin.Connect。我已经更改了注册表中的每个实例。


甚至注册表项
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Office \ Excel \ Addins \ MyAddIn
到MyAddIn.Connect


仍然,当我通过VBA检查ProgID时,它仍然显示MyAddin(COM加载项管理器中的友好名称是MyAddin.Connect)。

从Excel中的VBA中准确加载ProgID的位置在哪里?我应该注意到,当我通过Visual Studio调试AddIn时,它运行良好。但是,当我通过InstallShield安装程序安装它时,它只是拒绝工作。

最佳答案

当我们通过Visual Studio调试AddIn时,AddIn的条目将添加到注册表中,并从那里加载该Addin。

从InstallShield安装AddIn时,我们需要检查是否为AddIn正确添加了注册表项。

还要检查HKCU分支下的同一注册表项。因为加载项是从HKCU分支以及注册表中加载的。

09-25 20:10