• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Dictionaryについてその2)

CreateObjectでセットしたオブジェクトの戻り値は取得できるか

このQ&Aのポイント
  • CreateObject("Scripting.Dictionary")でセットしたオブジェクトは関数の戻り値として取得できますか?現在のエラー状況はMicrosoft VBScript 実行時エラー (0x800A01C2)で、引数の数が一致していないか不正なプロパティを指定している可能性があります。
  • セットしたオブジェクトを引数渡しはできるのに戻り値として取得できない理由は、知識不足ですが不思議です。
  • 質問としては、CreateObjectでセットしたオブジェクトを関数の戻り値として取得する方法についての解決策を教えていただきたいです。

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

  • ベストアンサー
  • o84
  • ベストアンサー率31% (128/407)
回答No.2

? RecordSetでも取れるはずですが? ソースがそれではよく判らないので断言は出来ませんが。 ただ、なんだったかなー。 一回別のモノに落とさないと関数の中・外の出入りが 出来なかったのがあったような。。。 はっきりエラーが出たソースを書いてもらえれば判るんですが。 ちなみに、sousi-niさんが質問に書いている関数↓ですが ------------------ Private Function CreateRec()   Dim RecSet   Set RecSet = CreateObject("Scripting.Dictionary")   RecSet.Add "1","山田"   CreateRec = RecSet   Exit Function End Function ------------------ こう書き直せます↓。この方がシャープ。 何やってるのか判りやすいし。 ------------------ Private Function CreateRec()   Set CreateRec = CreateObject("Scripting.Dictionary")   CreateRec.Add "1","山田" End Function ------------------

soushi_ni
質問者

お礼

ご教授ありがとうございます。別投稿でもご協力していただき大変感謝しております。私自身も調べておりますので、どうかよろしくお願いいたします。

その他の回答 (1)

  • o84
  • ベストアンサー率31% (128/407)
回答No.1

例) --------------------------------------------- Dim RetObj Dim RecValue RetObj = CreateRec() ↑ここのところを Set RetObj = CreateRec() とすれば取れます。

soushi_ni
質問者

補足

ご教授ありがとうございます。 Set G_RecMap = Server.CreateObject("ADODB.Recordset") 'レコードオープン G_RecMap.Open SQLPrm, G_Conn, 3, 3, 1 上記のようにレコードセットしたオブジェクトは返せますでしょうか?同じ要領で行うと上手く行かないのですが。。。お手数ですが、よろしくお願いします

関連するQ&A