- - PR -
VB.NETで作成したDLLをVBAから呼びたい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-19 17:01
VB.NETで作成した以下のような関数を含むDLLを呼び出したいのですが、
VBAでオートメーションエラーが発生してうまくいきません この組み合わせでは不可能なのでしょうか? 因みにVisioから同じマクロで呼んだ場合には期待通りの処理を行えました VBのコード Public Function test(ByVal st As String) As String Return "*****:" & rtn End Function VBAのコード Sub method() Dim obj Set obj = CreateObject("DllPj.ComClass1") ←ここでエラー Dim str As String str = obj.test("test") MsgBox str obj = Nothing End Sub 1.VB.NETのDllPj(クラスライブラリ)を新規作成 2.ComClass1(Comクラス)を追加(上記のコードを記述) 3.アセンブリのCOMを参照にチェックをする 4.レジストリには自動で追記されてます 5.ビルドにて作成されたTldファイルをExcelの参照設定に追加 6.Excelの標準モジュールを追加(上記のコードを記述) 環境は WindowsXP SP2 VS2005 .NET FRAMEWORK2.0 Office2003(EXCEL) |
1