- PR -

VB.NETで作成したdllをexcel2000で利用するには

1
投稿者投稿内容
hiroyuki
会議室デビュー日: 2007/04/24
投稿数: 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

スキルアップ/キャリアアップ(JOB@IT)