• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでオブジェクトの配列を使用するには?)

VBAでオブジェクトの配列を使用するには?

このQ&Aのポイント
  • Access2000のVBAでオブジェクトの配列を使用する方法を知りたいです。
  • VBAでクラスを作成し、プロシージャの呼び出しの引数に使用していますが、うまく配列を作成して返す方法が分かりません。
  • 呼び出し側でオブジェクトの配列を作成し、その配列をプロシージャに渡して使いたいのですが、エラーが出てしまいます。どのようにすれば実現できるでしょうか?

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

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

呼び出し側のFor Each objTemp In aryB の行へブレークポイントを設定しておいて実行し ローカルウィンドウで ローカル変数をウォッチして見ましょう aryBの型が Variant/Object(0to10) のようになっていませんか? 呼び出し側で clsBの配列を準備してprocBに渡しても同じでしょうか dim arClsB() as clsB procB objA, arClsB for each obnj in arClsB next といった具合で … # 当方のAccess2003ではお示しのコードであっさり動いてますが…

msystem
質問者

お礼

お返事遅くなって申し訳ありません。 実際のコードのポイントを抜き出して書いたつもりなのですが、ご指摘の通りAccess2000でもあっさり動いてしまいました。 実際のコードとの違いを検証していたのですが、まだ見つかっていません。 ちなみに、アドバイスどおり呼び出し側で配列にしてから渡してもだめでした・・・ 現実には、配列で返さずにCollectionオブジェクトで返すことで解決しました。 せっかくのアドバイスが無駄になって申し訳ありません。

関連するQ&A