- - PR -
VB.NETで作成したdllをexcel2000で利用するには
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-24 21:53
VisualStudio2005でDLLを作成し、
作成したDLLをexcel2000のVBAから利用しようとしています。 後述の参考スレッドを参照しつつ、下記手順にてVBAからDLLを参照できるように 設定しました。 1)VB.NETでDLLを作成。(名前をTest.dllとする) 2)DLLをアセンブリ登録し、タイプライブラリを作成 (regasm Test.dll /tlb /codebase) 3)作成したタイプライブラリをVBAの「参照設定」から追加する。 これにより、VBAから参照することはできている (「Dim test as Test.」と入力すると、dll内のクラス名のリストが出力される) のですが、実行するとDLL内のクラスのインスタンス作成時にエラーとなってしまいます。 例1. Dim test as Test.testclass Set test = new Test.testclass ←ここでオートメーションエラーとなります 例2. createobject("Test.testclass") ←ここで、実行時エラー'429':ActiveXコンポーネントはオブジェクトを作成できません。となります ※作成したDLLをVB.NETの別プロジェクトより参照して利用できることは 確認しています。(その際はDLLをexeと同フォルダに配置して利用) ※動作確認環境はWindowsXP(SP2)です。 何か原因として思い当たる点、怪しいと思われる点がありますでしょうか? もっと情報がないとわからない!って思われる方は、 お手数ですが、他にどのような情報が必要かお教え願えますでしょうか? 拙い文章で申し訳ありませんが、ご助言の程、宜しくお願い致します。 参考スレッド: 【ExcelVBAから、C#で作成したDLLをコールする方法について】 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10649&forum=7 【VisioのVBAからC#で作成したDLLを呼び出したい(プライベート配置で)。】 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8725&forum=7 |
1