Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


47207 / 76737 ←次へ | 前へ→

【34491】Re:VBAで指定したEXCEL範囲を外部DLLへ送る方法
質問  stoicker  - 06/2/3(金) 19:38 -

引用なし
パスワード
   昨日質問させて頂いた者です。

blueさんのも参考にしながら、自分なりにプログラムし、
エクセルのデータをVBAから読み取って、
「youso」という変数に配列として入れる事ができました。

ただそこからC言語で書いたDLLに送って、結果を得る方法がわかりません・・・

どうやってDLLを呼び出して、その「youso」の中に入ってるデータを送ればよいのでしょうか・・・。


 youso という配列の中には、

 youso(0)=5 youso(1)=8 youso(2)=1 youso(3)=4 youso(4)=9


 という感じで適当な数字が入っています。

 これをDLLに送って、DLL側で計算した結果を得たいと思っています。

 以下のプログラムのどこに、どういったプログラムを追加すればよいのか教えてください。

 プログラムも載せますので、よろしくお願いいたします。


 それから、名前を変更した件は本当にすいませんでした。
 今後、このハンドルで質問させていただきます。


*********************** VB側 *******************************:

Dim youso(4) As Double

Function goukei(hani) As Double
  Dim ue, shita, retu, i, j, yousosuu As Long
  
  goukei = 0
  ue = hani.Row

  retu = hani.Column
  yousosuu = hani.Rows.Count
  
  For j = 0 To yousosuu - 1
    youso(j) = Sheets(hani.Parent.Name).Cells(ue + j, retu)
  Next j

  goukei = ●●●● 

 
End Function

**************************************************************

 ●●●●の部分に、DLLに「youso」を送信するプログラムを書けば良いのではないかと思っているのですが、どうやったらいいのかわかりません。

 Declare Function dll_double_square Lib "cdll.dll" _
  (ByRef youso As Double) As Double

 という感じで書けばよいのでは・・・というのはわかっているのですが、どうやってもエラーが出てしまいます。


 ちなみにC側のプログラムは

****************************************************************


#include "cdll.h"

DLLIMPORT double dll_double_square (double *d,double *a,double *b,double *c,double *w)
{
  return *d+*a+*b+*c+*w;
}

*****************************************************************

 という感じです。

0 hits

【34434】VBAで指定したEXCEL範囲を外部DLLへ送る方法 stoicker 06/2/2(木) 16:58 質問
【34435】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... Blue 06/2/2(木) 17:43 発言
【34436】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... stoicker 06/2/2(木) 18:16 質問
【34439】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... Blue 06/2/2(木) 18:52 質問
【34491】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... stoicker 06/2/3(金) 19:38 質問
【34500】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... Blue 06/2/4(土) 0:35 回答
【34501】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... 稲葉 06/2/4(土) 2:53 お礼
【34513】Re:VBAで指定したEXCEL範囲を外部DLLへ送る... stoicker 06/2/4(土) 15:25 お礼

47207 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free