たぷつきません

おなかがでてきた。もうたぷついてるやん。

Excel2000のVBAから、C# VS2008で作ったCOMライブラリのクラスインスタンスを作成できない


 こちらでも、こちらでも起きています。でもどちらもVS2005で起きている問題のよう。後者はMSのパッチをあてたら解決したとあるけど、VS2008の方はないのかねー。
 これがExcel2003だとちゃんとインスタンスを作成できちゃいます。それもあるからパッチは望み薄かな。

 プロジェクトの参照設定から「Microsoft Excel 9.0 Object Library」を取り込むとビルド時になんかちゃんとタイプライブラリの定義をインポートしきれていないような警告が出るので最初はこれが原因かなーと思っていたのですが、

 そもそもExcelライブラリを参照しない唯のHelloWorldでも同じでした。タイプライブラリインポータの失敗はVS2008 Express Editionだけの問題で、VS2008 StandardやProでは起きないことが分かりました。

 C#COMライブラリのほうでExcel.Applicationオブジェクトを扱えるようにインターフェースを切るだけでちゃんとCOMとInteropの受け渡しまで自動的にやってくれるのはスゲエですけどね。貼り付けたガメシャで見ると分かりますがAssignExcelの定義はたったこれだけの記述で、うまくやり取りできしまいます。