
タイトルの通りなんですが、
配列として持っているプロパティがあります。
そのプロパティをREDIMしたいのですが、
これは可能なのでしょうか?
VB6.0の話になります。
『クラスモジュールに表記しています』
'詳細クラス
Public Property Get PK_SYOUSAI() As clsSyousai
PK_SYOUSAI = K_SYOUSAI()
End Property
Public Property Let PK_SYOUSAI(ByVal strValue As clsSyousai)
K_SYOUSAI = strValue
End Property
『標準モジュールに表記しています』
ReDim Preserve clsKouSei_K(0).PK_SYOUSAI(i)
clsKouSei_K(0).PK_SYOUSAI(i) = cls_S
上記のREDIMの部分でエラーが起こり、処理が進みません。
どうすればよいのでしょうか?
No.3ベストアンサー
- 回答日時:
配列を返すプロパティの要素数を操作するのはクラス側に実装しないと意味が無いのではないかと思います
プロパティ自体を操作するのではなく 戻ってくるオブジェクトのローカル変数配列を操作するようにすればいいのではないかと思います
受け取る変数は バリアント型にします
Dim objShousai
objShousai = clsKousei_K(0).PK_SHOUSAI()
Redim Preserve objShousai(3)
といった具合に使いましょう
またプロパティで配列を扱うなら
public property Get Shousai() as clsSyousai()
Shousai = K_SYOUSAI()
End Property
Public Property Let Shousai( arShousai() as clsShousai )
K_SHOUSAI = arShousai
End Property
といった具合に Getの型指定に()を Letの引数に()を付けます
No.2
- 回答日時:
PK_SYOUSAIが標準モジュールに入っているので、いまいちクラスとの関係がつかめませんが、直接的に言える事は、#1さんの、
>Dim MyArray() As Integer ' 動的配列を宣言します。
に相当する部分が、標準モジュールにないという事です。Redimをかける場合、必ず、
Dim clsKouSei_K(0).PK_SYOUSAI() '最後の i がない
のような、事前宣言が必要です。
No.1
- 回答日時:
参考まで
*** ReDim ステートメントの使用例 ****
次の例では、ReDim ステートメントを使って、動的配列変数を保存するメモリ領域の割り当てと再割り当てを行います。Option Base ステートメントには、1 が設定されているものとします。
Dim MyArray() As Integer ' 動的配列を宣言します。
Redim MyArray(5) ' 5 要素分の領域を割り当てます。
For I = 1 To 5 ' 5 回、ループします。
MyArray(I) = I ' 配列を初期化します。
Next I
次のステートメントは、配列のサイズを変更して、以前の要素を消去します。
Redim MyArray(10) ' 配列の要素数を 10 に変更します。
For I = 1 To 10 ' 10 回、ループします。
MyArray(I) = I ' 配列を初期化します。
Next I
次のステートメントでは、以前の要素を消去せずに、配列のサイズを変更します。
Redim Preserve MyArray(15)
' 配列の要素数を 15 に変更します
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) userformでSheetを選択して開くコード 1 2023/05/15 16:27
- サッカー・フットサル サッカーワールドカップに関する話題で 「日本はPK下手くそ」 と感想言うとブチ切れてくる人 3 2022/12/12 09:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(漢和辞典)部首の配列法は?
-
IF関数でEmpty値を設定する方法。
-
ランダムに並んでるキーボード...
-
動的配列が存在(要素が有る)か...
-
シート上のオプションボタン、...
-
VBでbyte配列型のインスタンス...
-
配列プロパティをREDIMする方法...
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
パソコンキーボードで時分秒を...
-
VB.net(2005)での配列の要素数...
-
MATLABで
-
【MFC】GetCount()とGetSize()...
-
配列のメリットは?
-
C#の質問
-
五目並べのプログラムを配列と...
-
Javaで文字と数字が混ざったも...
-
数値⇒漢数字変換 java
-
System.err. printlnとSystem.o...
-
1~100までの数字を表示し、か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
動的配列が存在(要素が有る)か...
-
IF関数でEmpty値を設定する方法。
-
パソコンキーボードで時分秒を...
-
EXCEL VBA で、0から?1から?
-
VBAで配列の計算
-
C言語 重複しない4ケタの乱数...
-
VB.net 引数で配列変数を渡す際...
-
変数を動的に作るには?
-
C#の質問
-
VBでbyte配列型のインスタンス...
-
VBで作った乱数を一度も重複さ...
-
javaプログラムについて
-
配列の要素数を超えた参照のコ...
-
For文と配列
-
複数のテキストボックスに同じ...
-
Excel VBAで配列の途中から(X)M...
-
ラジオボタンのチェックをEnter...
-
遅延バインディングを使用でき...
-
ジャグ配列とは
-
空き番号探し
おすすめ情報