掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
引数が構造体のVBのDLLの関数をVBAから呼び出すには? (ID:147864)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB.NETのCOM相互運用機能の登録をONにして作成したDLLで定義されている構造体を、VBAから使用するにはどのように記述すればよいのでしょうか。 例えば、下記のコードでは、Dim t_o As T1の部分で「コンパイルエラー:Visual Basicでサポートさけていないオートメーションが変数で使用されています」というエラーになります。Dim t_o As vb_o.T1と記述しても「コンパイルエラー:ユーザ定義型は定義されていません。」というエラーになります。どのように記述すれば、VB側で定義した構造体T1をVBA側で使えるのでしょうか。 ---DLL側(プロジェクト名ClassLibrary1)--- Public Class Class1 Public Structure T1 Dim x As String Dim y As Integer End Structure Public Sub fx(ByRef t1_o As T1) MsgBox(t1_o.x & t1_o.y) End Sub End Class ---VBA側--- Option Explicit Public vb_o As New ClassLibrary1.Class1 'Public Type T1 ' x As String ' y As Integer 'End Type Public Sub test() ' Dim t_o As T1 Dim t_o As vb_o.T1 t_o.x = "ABC" t_o.y = 123 call vb_o.fx(t_o) End Sub ----------- よろしくお願いします。 (WindowsXP,Excel2004_VBA,VisualStudio2010)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.