- ベストアンサー
Property Get での配列の引渡し
初歩的な質問なんですが、よろしくお願いいたします。 Property Getで配列を渡したいのですが どのように行えばよろしいのでしょうか? ParamArrayで行えば良いのかと思いましたがエラーが出てしまい ます。 Access2000のHELPではProperty GetでもParamArrayが使用できるよう に書いてあるんですが・・・・ 今の開発環境はAccess2003になります。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 以下は、あくまでも、Access とは関係なく、単に、VBAでのProperty Get の使い方の一例です。 '標準モジュール Sub Test1() Dim myClass As Class1 Dim i As Integer Set myClass = New Class1 myClass.Value = Array(111, 112, 113) If IsArray(myClass.Value) Then For i = LBound(myClass.Value) To UBound(myClass.Value) MsgBox myClass.Value(i) Next i End If End Sub 'クラスモジュール Private myValue As Variant Public Property Let Value(myNewValue As Variant) myValue = myNewValue End Property Public Property Get Value() As Variant Value = myValue End Property
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 全体的なコードが見えてこないので、あまりはっきりしたことが言えません。 >やりたいことは >Public Property Get AAAA() as variant >の場合に戻り値(as Variantのところ)を配列にできないのかな? 代入値で決まってくるように思いますが。 × Public Property Get AAAA() As Variant() のような、あえて、エラーを引き起こすような書き方は出来ないと思います。Property Get 側に引数がないということは、Property Let 側で、代入することでしょうか?
補足
ご回答ありがとうございます。 コードで悩んでいるので、コードの具体例が無いんです・・・すみません。 Private TBL() as Variant Public Property Get AAAA() as ....? AAAA = TBL() . . ていうような感じで渡せないものかな?と思ったものですから。 テーブルの配列数は不定・・・ 非常にわかりずらいかもしれませんが・・・
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 何をされたいのか、どんなエラーが出ているのか、こちらでは分かりかねますが、単に、VBAとして言うなら、 >ParamArrayで行えば良いのかと思いましたがエラーが出てしまいます。 初歩的なことだと思いますが、Property Get でも、引数としてパラメータ配列を使用する場合は、引数の後に、パラメータ配列を入れます。 それから、Property Get に渡す場合に、そのままでは、配列にはなっていないと思います。 私の知っている範囲で答えるなら、配列にする場合、Property Get の中で、配列に組み替えないと出来ないはずです。
補足
ご回答ありがとうございます。 また返答が遅れまして申し訳ありません。 ごめんなさい。 HELPの読み間違いでした。 やりたいことは Public Property Get AAAA() as variant の場合に戻り値(as Variantのところ)を配列にできないのかな? と思った次第です。
補足
ご回答ありがとうございます。 理解できました。 ありがとうございます。