我正在開發從Excel VBA使用的COM服務器。當我更新服務器(編輯代碼,取消註冊,重新註冊)時,Excel似乎繼續使用COM服務器的原始版本,而不是更新後的版本。我發現讓它使用更新版本的唯一方法是關閉並重新打開Excel,這會讓人有點惱火。有沒有辦法強制Excel使用新註冊的版本(也許某種「清除緩存」選項)?如何強制Excel VBA使用更新的COM服務器
更多細節:
服務器正在使用Python開發win32com。
在VBA我做這樣的事情:
set obj=CreateObject("Foo.Bar")
obj.baz()
哪裏Foo.Bar是我在註冊表中註冊的COM服務器。
如果我取消註冊服務器然後運行VBA代碼,我從VBA得到一個「無法創建對象」的錯誤,所以它必須意識到發生了某些事情。但是,一旦我重新註冊,它會提取舊版本。
任何提示讚賞!
感謝,
安迪
不幸的是,Excel不喜歡那樣 - 「無法加載或卸載此對象」。 – Andy 2010-03-01 01:29:51