• 締切済み

DLLで格納された値をVBに渡す方法

nakashiの回答

  • nakashi
  • ベストアンサー率51% (21/41)
回答No.1

DLLでどんな処理をしたいのですか 下記URLを見ても、だめなら もっと具体的に書かないと解らない。

参考URL:
http://www.microsoft.com/JAPAN/support/kb/articles/J031/8/74.htm

関連するQ&A

  • VBのメモリのアドレス取得

    C++で作成したDLLをVBから変数を渡して 文字列が格納されているメモリアドレスを取得して、 別のDLLにメモリアドレスを渡したいのですが、 具体的な指定の仕方を教えてください。

  • dllを使用しVB側に文字列を返す2

    No.280310の質問の続きになってしまいますが 「VCで作ったdllを使用し VBに文字列を返すことはできますか」 でVCで作ったdllをVBを呼び出す事ができるようになりました。 Declare宣言で疑問に思ったのですが Declare Function TxtCnt Lib "hoge.dll" (ByVal a As String) As Long aはなぜ値渡しなのでしょうか? 変数が書き換えられて戻ってくるので、byrefで指定していました。 それが問題が起こしていた原因一つでした。 ちなみにint型の数値をポインタで渡した場合はbyrefでうまくいきます。 ご教授願います。

  • LIST型に格納されている値を1つずつ取り出して処理をしたい

    LIST型に格納されている値を1つずつ取り出して処理を行う方法を探しています。 Dim a As List(Of Integer) 具体的には、1・2・3・4・5という数字が格納されているaという変数から格納された値を一つずつ取り出して、足し合わせていくループ処理を書きたいと思っています。15という結果が出せればOKです。 どなたかご助言いただけると助かります。

  • VB.NET 配列の格納

    VB.NET 配列の格納 エクセルから任意の列の値を格納したいのですが・・・ 現在、値の取得は以下のようなFor文ループを書いています。 各値を一時記憶(格納)したいのですが、どう書けばいいのでしょうか。 また、各列内で重複する値があった場合、重複を避けて値を取得したいのですが どう書いていいかわかりません。 初歩的な質問で申し訳ありませんが、宜しくお願いします。 PN()→G列の各セルの値の変数 JN()→H列の各セルの値の変数 の変数GYO→シートの最終行 j = 1 For i = 1 To GYO '【リストのG列から部品番号を取得】 PN(j) = xlSheet.Cells(i, 7).Value '【リストのH列から部品和名を取得】 JN(j) = xlSheet.Cells(i, 8).value Next

  • C++からC#のdllを参照する際、引数内に構造体があった場合の処理

    いつもお世話になっております。 http://satoshi.web5.jp/memo/connect_dll.htm VC++2008のMFCプロジェクトにて、C#のdllの関数を扱いたく、 上記サイトを参考に実装してみました。 上記サイトでも挙げているように、C#dll内の関数の引数が、 整数・文字列の場合は、うまく動作するのですが、 引数に構造体を渡し、dllにて構造体のデータを設定してやる関数にて、 引数の構造体ポインタを、どのように渡してやれば良いのかが 分かりません。 具体的には、 VARIANTARGの配列をnewし(変数pVarg)、 pVargに型と変数をセットして、Invoke関数に渡しますが、 その際の、pVargにセットしてやる型が分かりません。 このような場合は、どうすれば良いのでしょう? よろしくお願いします。

  • dllを使用しVB側に文字列を返す

    VCで作ったdllを使用し VBに文字列を返すことはできますか? extern int CCONV TxtCnt(char *a) { *a='1'; a++; *a='\0'; return 0; } vbの方 dim ret% dim a$ ret=TxtCnt(a) msgbox a ちょっと試しに作りましたが これではなぜ"1"という値が返ってこないのでしょうか? バリアント型に文字列を返すdllをみたことあるのですが これはどうやっているのでしょうか?

  • VBでCSVファイルを取り込み、Accessに格納する方法

    VBから、csvファイルを取り込んで、Accessのテーブルに格納したいので すが、Input# でうまくいきません。 csvファイルは、基本的に,区切りですが 1)値の両端を"でくくる。 2)値として"がある場合は、""に変換する。 という仕様です。(ExcelでCSVファイルを作るときと同じ) 3)先頭13列が、上記のような仕様   さらに14列目から290列目までは数値データで、値を""でくくらない。 データ例として、 "aaa","""値""",""",,","""値2,,""","bbb",・・・"ccc",0,1,2,・・・,276 === ====== ==== ========== === === = = = ===  1 2 3 4 5 13 141516 290 1の値:aaa 2の値:"値"," 3の値:",, 4の値:"値2,," 5の値:bbb としてテーブルに取り込みたいです。 Access2000では、255列以上は取り込めないため、 14列目以降の値を9個ずつ別レコードに分けています。 つまり、22列のテーブルにレコード化しています。 レコード1:列1~13の値+列14~22の値 レコード2:列1~13の値+列23~31の値 ・・・ 255列の制限は仕方ないとしても、上記のようなCSVファイルを VBでAccessテーブルに取り込む良い方法を教えてください。

  • 文字列を返すVCで作成したDLL関数をVBで呼ぶと...

    VC++で文字列を返すDLL関数を作成しました。 LPCSTR GetVcString(void) これをVBでStringとして受け取り、MsgBoxで表示すると正常に取得できているようなのですが、Lenで文字数を取得すると変な値が返ってきます。 1. Dim Ret As String 2. Ret=GetVcString() 3. MsgBox(Ret) ← VCで返された文字列は正常に表示されている 4. MsgBox(Str(Len(Ret))) ← 実際の文字数とはかけ離れた数値になる 2行目と3行目の間に、 Ret=Left(Ret,InStr(Ret,vbNullChar)-1) を噛ませれば文字数は正常な値になるのですが、このような処理をしなくても正常に文字数を取得する方法があれば教えてください。

  • VisualStudio2010 DLL作成方法

    VisualStudio2010を使っています(初心者)。 VBで作成していたのですが、一部VC++を使わなければいけなくなりました。VC++はDLLで作成して、VBの方でDLLを参照して処理を行いたいと考えています。 そこで試しに作成したVC++で作成したDLLをVBで参照しようとしたらERRORになってしまい上手にできませんでした。※ERRORの内容までは詳しく覚えてません。VC++のDLLを作成~VBのDLLの参照までを説明しているサイトなどありましたら教えて下さい。 よろしくお願いします。

  • VBやC#のDLLを作るとき

    VBやC#のDLLを作るとき特別な作り方があるのでしょうか? 少し前にポインタで文字列ももってき方を教えていただいたのですが、VBやC#に持っていけません C++で特別な作り方があるでしょうか? それともVBやC#で特別な引き込み方があるのでしょうか? 特に文字の場合ポインタがないVBに持っていくとき どういう型で返せばいいのでしょうか? よろしくお願いいたします