- PR -

VB.NETで作成したDLLをVBAから呼びたい

1
投稿者投稿内容
ともぞう
会議室デビュー日: 2007/08/06
投稿数: 3
投稿日時: 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

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