ExcelのVBAからDLLへの参照渡しする時の引数は?


こじか  2006-12-30 07:01:34  No: 24411

いつもお世話になります。

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;
----------------------------------

よろしくお願いします。


りっきぃ  2007-01-10 19:07:42  No: 24412

まず、全然ダメとは何がダメだったのでしょうか?
・DLLコンパイル時にエラーが発生したのか?
・VBAのマクロ実行時にエラーが発生したのか?
・VBAのマクロ実行前にコンパイルエラーが発生したのか?
あと、エラー等が発生したのならどんな内容が表示されたのか?
最低限の情報を記さないと対応に困って誰もレスをつけてくれないでしょう。

次に、DLLに対する認識が間違っています。
VBA側で定義した型をDLLに渡すのではなく、
DLL側で定義した型をVBAで使用するという認識でいれば解決できそうな気がしないでもないです。
(あくまでも予測ですが・・・)


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加