こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Dictionaryについて3

簡単に作ったソースなのですが、
以下の構文でエラーが発生します。
Dictionaryで作成したオブジェクトの束を配列として
格納させ、更にその配列を復帰値として取得し、メインルーチンにて展開させようと思っています。
以下のソースで考えられることございますか?
色々調べているのですが、述べ2日ハマっています。

----------------------------------------------
Dim AAA,BBB(),CCC

Set CCC=TEST

'CCCオブジェクトを展開し、値を画面に表示させる
’(未着手)

private function TEST()
Set AAA = CreateObject("Scripting.Dictionary")
AAA.Add "1","111"

ReDim Preserve BBB(0)
Set BBB(0) = AAA

Set TEST=BBB ←エラー個所

Exit Function
End Function
---------------------------------------------
エラー タイプ
Microsoft VBScript 実行時エラー (0x800A01A8)
オブジェクトがありません。

投稿日時 - 2002-11-25 15:08:44

QNo.412982

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

う~ん。何がなさりたいのかよく解らないのですが、
配列にDictionaryオブジェクトを格納したいんですよね?
念のため確認しますが、これはサーバーサイドスクリプトですよね?

こうじゃないかなぁ。(インデントのため全角スペース使用)

' ** 関数TEST宣言
Function TEST()
 Dim AAA
 Dim BBB()

 Set AAA = Server.CreateObject("Scripting.Dictionary")
 AAA.Add "1","111"

 Set BBB(0) = AAA
 ReDim Preserve BBB(0) ' ** ←意味を理解して使ってください

 TEST = BBB
End Function

' ** 関数TESTコール
CCC = TEST() ' ** CCCのDimは要りません。Dimするとエラーになります。

これで上手く行ったとしても所詮付け焼刃です。
あなたのスキルにはなっていないと思います。他の質問で皆さんが
おっしゃっている通り、一度参考書ご自分で購入されて、きちんと
最初から理解していくことが大切なのでは?

お説教はいらない、答えだけ教えてくれればそれでいい、と
おっしゃるのならあなたの質問に二度と返信はつけませんが。(- -;)

参考URL:http://www.f-store.net/asp/home.asp

投稿日時 - 2002-11-25 17:38:22