我正在开发一个从 Excel VBA 使用的 COM 服务器。当我更新服务器(编辑代码、注销、重新注册)时,Excel 似乎继续使用 COM 服务器的原始版本,而不是更新版本。我发现让它使用更新版本的唯一方法是关闭并重新打开 Excel,这有点烦人。有没有办法强制 Excel 使用新注册的版本(可能是某种“清除缓存”选项)?
更多细节:
该服务器正在 Python 中使用 win32com 开发。
在 VBA 中,我正在做类似的事情:
set obj=CreateObject("Foo.Bar")
obj.baz()
Foo.Bar 是我在注册表中注册的 COM 服务器。
如果我取消注册服务器然后运行 VBA 代码,我会从 VBA 收到“无法创建对象”错误,因此它必须意识到正在发生某些事情。但是一旦我重新注册它就会选择旧版本。
任何提示表示赞赏!
谢谢,
安迪