当方、Windows2000(SP2) + VB6.0(SP5) の環境です。
今、私が困っている事なのですが、宣言した構造体に入れた値を、
構造体ごとコレクションに追加して扱いたいと言う所なのです。
しかし最初の「構造体をコレクションに追加する」と言う時点で躓いています。
もしかして、構造体ごとコレクションに登録すると言う事は出来ないのでしょうか?
私が考えて書いたコードは以下のようになっております。
--- 標準モジュールにて構造体を宣言 ---
Public gcolAddData As New Collection 'Collectionオブジェクト
Public Type AddData '各データをレコードで獲得
varName As Variant
varPostCd As Variant
varAddress As Variant
varTellNum As Variant
End Type
Public gAddData As AddData
--- 以下が実際に走っているソースです ---
'構造体に取得する
With gAddData
--- ここで構造体の各変数に値を入れています ---
End With
'構造体をコレクションに格納
gcolAddData.Add gAddData
普通にAddしてしまう方法なのですが、これでは駄目なのでしょうか。
方法があるのであれば教えて頂けると嬉しいです。
また、これは念の為の確認としてお聞きしたいのですが、
コレクションに追加した構造体を受け取りたい時は
以下のようにSet文で構わないですよね?
Dim tmpAddData As gcolAddData
Set tmpAddData = gcolAddData.Item(0)
何分、まだこの段階まで進めていない状態ですので……(汗
どうぞよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
随分古い質問なので、本人はもう見ないかもしれないけど、同様の問題ではまっている人がいるかも知れないので、書いておきます。
構造体をCollectionに入れるのではなく、構造体をClassに変換して、そのClassをベースとした、Collectionを作成すれば、目的の内容は実現できるはずです。
No.1
- 回答日時:
こんにちは。
maruru01です。Collectionオブジェクトのヘルプには以下のように書かれています。
Collection オブジェクトの構成
Collection オブジェクトには、バリアント型 (Variant) で各トピックが格納されています。したがって、Collection オブジェクトに追加できる事柄の一覧は、バリアント型に格納できる事柄の一覧と同じです。これには、基本データ型、オブジェクト、および配列が含まれ、ユーザー定義の型は含まれません。
したがって、ユーザー定義の型(いわゆる構造体)は追加出来ないようです。
コレクションを使ってどうのような処理をしたいのか分かりませんが、だいたいは、配列で代用出来るのではないでしょうか。
では。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) M365環境での動作エラー、及び対応相談 1 2023/01/27 04:18
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
クラスのプロパティに構造体を使いたい。
Visual Basic(VBA)
-
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
VBA コレクションに2次元配列を追加して取り出す方法
Visual Basic(VBA)
-
-
4
VBで構造体の配列を関数に渡す方法?
Visual Basic(VBA)
-
5
array関数で格納した配列の型を変更する
Visual Basic(VBA)
-
6
DATE型変数を初期化する方法
Visual Basic(VBA)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
collection型を引数にしたファンクションでコンパイルエラー
Visual Basic(VBA)
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
10
VBAもしくはVB6:クラスの中でクラスは使える?
Visual Basic(VBA)
-
11
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
12
VBで引数にDictionaryオブジェクトを使用する方法
Visual Basic(VBA)
-
13
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
14
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
15
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
-
16
戻り値がクラスオブジェクト
Visual Basic(VBA)
-
17
for each の現在の配列ポインタ VBA
Excel(エクセル)
-
18
テキストボックスのvalueとtextの違い
Visual Basic(VBA)
-
19
エクセルVBA クラスモジュール内でパブリックユーザ定義型
Visual Basic(VBA)
-
20
参照設定は2.8と6.0 6.1とどちらにチェッ
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
趣味で女性用のアダルトグッズ...
-
ミントコレクション
-
ヘリテージコレクション とは...
-
私はタレ瓶(弁当の醤油鯛)コレ...
-
東大生の小さい頃って過酷って...
-
ルーターのUPnPはオフにしてい...
-
実際にやってみて、この人すご...
-
初夢で、亀と蛇が一緒にでてき...
-
ゲームセンターのプライズ品は...
-
エビやカニの殻に入っているグ...
-
証券取引等監視委員会のポスタ...
-
女性の方の中に 下着コレクショ...
-
何かわた私の2024年以降の運勢...
-
遠距離の彼と連絡が取れなくな...
-
ランエボは350馬力ぐらいま...
-
【超能力者】に聞きたいこと
-
妬みと嫉みの違いを教えてくだ...
-
正しく霊視を行い、正しく導い...
-
静岡県に○○鑑定団っとあります...
-
焼きドーナツとクッキーどう違う?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
構造体をコレクションに入れて...
-
私はタレ瓶(弁当の醤油鯛)コレ...
-
先日我が家の一階でガトリング...
-
令和3年の新500円硬貨。 レア度...
-
ガンダムフィギュア主にメタル...
-
ミントコレクション
-
VBSでのコレクション
-
PS版FF6について
-
ワンピース ログコレクションは...
-
腕時計コレクションケース内の...
-
趣味で女性用のアダルトグッズ...
-
カンカンが好きで、スチームク...
-
DSソフト ともだちコレクション...
-
ヘリテージコレクション とは...
-
チョロQ(ミニカー)のかっこ...
-
どなたか海外コインで詳しい方...
-
令和の今の時代にレーザーディ...
-
フェリシモのコレクション・カ...
-
塗装されてないバスのチョロQ
-
ウエハースカードの使い道
おすすめ情報