いつもお世話になります。
ExcelのVBAからDelphiで作成したDLLへ参照渡しで引数を渡すのですが、次のような場合、
Delphiでは、どのような型を宣言して受ければよいのでしょうか?
ExcelのVBA
----------------------------------
Type THairetu
X As Long
Y As Currency
End Type
Type TTest
A As Long
B As Currency
C(2) As THairetu
End Type
----------------------------------
ちなみに、下記のような型で受けると全然ダメでした。
----------------------------------
type
THairetu = record
X: integer;
Y: Currency;
end;
TTest = record
A: integer;
B: Currency;
C: array[0..2] of THairetu;
end;
----------------------------------
よろしくお願いします。
まず、全然ダメとは何がダメだったのでしょうか?
・DLLコンパイル時にエラーが発生したのか?
・VBAのマクロ実行時にエラーが発生したのか?
・VBAのマクロ実行前にコンパイルエラーが発生したのか?
あと、エラー等が発生したのならどんな内容が表示されたのか?
最低限の情報を記さないと対応に困って誰もレスをつけてくれないでしょう。
次に、DLLに対する認識が間違っています。
VBA側で定義した型をDLLに渡すのではなく、
DLL側で定義した型をVBAで使用するという認識でいれば解決できそうな気がしないでもないです。
(あくまでも予測ですが・・・)
ツイート | ![]() |