Powerpoint 内の VBA から呼び出される dll を更新しました。開発はすべてうまくいきましたが、別のユーザーのマシンにデプロイしようとすると、デバッグ方法がわからないという問題が発生します。
何が起こるかというと、VBA で .Net オブジェクトが作成されると、返される参照が間違ったオブジェクトへのものであるため、次の行はメソッドが見つからないというエラーになります。
Dim myObj As Foo.Bar
Public Sub RefreshData()
//'instantiate object
Set myObj = New Foo.Bar
//'call a method
myObj.HelloWorld
最後の行は、実行時エラー '438' Object does not support this property or methodで失敗します。これは、myObj の型が「Foo.Bar」ではなく「Wrong.Type」であることが原因です。
「Wrong.Type」もアセンブリに含まれているため、タイプ ライブラリに問題があると思われますが、( regasm /codebase /tlb MyLib.dll を使用して) 再生成を試みましたが、これは役に立ちませんでした。
これ以上診断する方法がわかりません。うまくいけば、誰かがこの種の問題を診断する方法についていくつかの手順をリストできますか?