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