Excel VBAから使用するCOMサーバーを開発しています。サーバーを更新すると (コードの編集、登録解除、再登録)、Excel は更新されたバージョンではなく、元のバージョンの COM サーバーを引き続き使用しているようです。更新されたバージョンを使用するために私が見つけた唯一の方法は、Excel を閉じて再度開くことですが、これは少しイライラします。Excel に新しく登録されたバージョンを強制的に使用させる方法はありますか (おそらく、ある種の「キャッシュのクリア」オプション)。
詳細:
サーバーは、win32com を使用して Python で開発されています。
VBAでは、次のようなことをしています:
set obj=CreateObject("Foo.Bar")
obj.baz()
Foo.Bar は、レジストリに登録した COM サーバーです。
サーバーを登録解除してから VBA コードを実行すると、VBA から「オブジェクトを作成できません」というエラーが表示されるため、何かが起こっていることを認識する必要があります。しかし、再登録すると、古いバージョンが取得されます。
ヒントをいただければ幸いです。
ありがとう、
アンディ