• ベストアンサー

VBで構造体の配列を関数に渡す方法?

構造体の配列のアドレスを関数に渡して使用したいのですが、どのようにしたら良いでしょうか?教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

例えば、こんな感じ Type POINT x As Integer y As Integer End Type Sub testMain() Dim a(3) As POINT Dim i a(0).x = 1: a(0).y = 10 a(1).x = 2: a(1).y = 20 a(2).x = 3: a(2).y = 30 a(3).x = 4: a(3).y = 40 Call times2(a) '2倍する For i = 0 To UBound(a) Debug.Print a(i).x; ","; a(i).y Next End Sub Sub times2(ByRef a() As POINT) Dim i For i = 0 To UBound(a) a(i).x = a(i).x * 2: a(i).y = a(i).y * 2 Next End Sub

toko703
質問者

お礼

res有難う御座います。具体的な説明で良く分かりました。 早速テストしてみます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

>配列のアドレスを関数に 関数は内部?、それともActiveX以外のDLLみたいな外部? 単なる内部の関数であれば、#1さんが書かれた方法で十分で、ポインタを考慮しないでいけると思います。 外部であれば参考URLを参考にどうぞ。 http://okweb.jp/kotaeru.php3?q=817941

toko703
質問者

お礼

RES有難う御座います。 関数は内部です。URLチェックしてみます。

すると、全ての回答が全文表示されます。

関連するQ&A