掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
引数が構造体のVBのDLLの関数をVBAから呼び出すには? (ID:147870)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
なるほど。VB側に実装したメソッドを呼び出して構造体T1を取得するということですね。 下記のようなコードで確認してみましたが、取得した構造体T1がVariant型の変数に入らないような感じです。 Set t_o = vb_o.CreateT1()の部分で「実行時エラー'5':プロシージャの呼び出し、または引数が不正です。」というエラーになります。戻り値が未定義になっていましたので、下記のコメントのようにダミーの値を入れてみましたが同じエラーになります。 ---VB側(プロジェクト名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 Public Function CreateT1() As T1 Dim ret As T1 'ret.x="XXX" 'ret.y=0 Return ret End Function End Class ---VBA側(標準モジュール名Module1)--- Option Explicit Public vb_o As New ClassLibrary1.Class1 Public Sub test() Dim t_o As Variant Set t_o = vb_o.CreateT1() t_o.x = "ABC" t_o.y = 123 Call vb_o.fx(t_o) End Sub ------------------------------------- よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.