• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[VBS] 動的配列について教えてください!)

[VBS] 動的配列について教えてください!

このQ&Aのポイント
  • VBS初心者です。リストを読み込んで動的配列に持たせたい方法について教えてください。
  • 動的配列の作成方法や引数として渡す方法などについて詳しく教えてください。
  • どのようなエラーが発生しているのか詳細を教えていただけると助かります。

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

  • ベストアンサー
回答No.2

変数をパブリック宣言しておいて 名前ではなく変数そのものを渡してあげれば。 Public AryVal() GET_FILE = wscript.scriptfullname '"sample.txt" SET objFs = CreateObject("Scripting.FileSystemObject") ' 動的配列セット Call Array_Set(AryVal,GET_FILE) ・・・以下は冒頭の質問と同じなので省略しました。

wansui
質問者

お礼

Public AryVal() 完全に忘れてました、、、!!! 思い通りの処理を行うことが出来ましたぁ! まぢありがとうございますうううううううううううう!!w

その他の回答 (1)

  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

あまり詳しくありませんが Call Array_Set("AryVal",GET_FILE) の第一引数は単なる文字列ですから、呼び出し側で配列を定義して、 その配列名を直接入れればいいと思いますが。

wansui
質問者

お礼

Execute関数を利用すると、引数で渡した文字列に値が格納される事が出来ましたが Callを抜けるとと、配列が空になってしまいます、、、。 初歩的な事かもしれませんが、引き続きご教示頂ければと思います。 ----------------------------------------------------------------- GET_FILE = "sample.txt" SET objFs = CreateObject("Scripting.FileSystemObject") ' 動的配列セット Call Array_Set("AryVal",GET_FILE) ' 表示 For i = 0 To Ubound(AryVal) msgbox AryVal(i) Next ' 終了 WScript.Quit 0 Function Array_Set(AryName,ReadFile) ' 動的配列宣言 Execute(" Dim " & AryName & "()" ) Set strVal = objFs.OpenTextFile(ReadFile) ' 1行づつ処理 Do While strVal.AtEndOfStream <> True i = i + 1 Execute(" ReDim Preserve " & AryName & "(" & i - 1 & ")" ) Execute( AryName & "(" & i - 1 & ") = strVal.ReadLine " ) Loop End Function -----------------------------------------------------------------

関連するQ&A