• 締切済み

データの読み込み方法について

現在、独学でJavaScriptを勉強しています。 教えて頂きたいのですが、 objFso = new ActiveXObject("Scripting.FileSystemObject"); myFile = objFso.GetFile("***"); objTxt = myFile.OpenAsTextStream(1); とし、 読み込む元ファイルが A 123 B 456 C 789 このようなデータである場合に do{ var DATA = objTxtz.ReadLine(); }while(objTxtz.AtEndOfStream==false); では、うまくデータを読み込んでくれないのですが どこかおかしいでしょうか? 本当はAを選べば123、Bを選べば456といった形にしたいのですが まず最初の読み込みの段階でつまづいています。 お手数ですが、 どなたかお教え願えないでしょうか?

みんなの回答

  • susie-t
  • ベストアンサー率86% (37/43)
回答No.1

私もあまり整理できていないのですが・・・。 HTMLに記述してIEを経由するのか、JSを直に実行するかでちょっと変わるかもしれません。 とりあえず以下でIE経由で動きました。GetFileメソッドがないみたいなのでOpenTextFileを使ってます。 <script> var objFso = new ActiveXObject("Scripting.FileSystemObject"); var myFile = objFso.OpenTextFile("c:\\text.txt", 1); while(true){ var DATA = myFile.ReadLine(); if(myFile.AtEndOfStream) break; alert(DATA); } </script> ここでdo whileは使いづらい気がするのですが。。。 ReadLine直後にAtEndOfStream判定しないと、EOF時DATAにアクセスすると落ちました。(こんへん自信がないです) 参考になれば幸いです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 配列をテキストデータから読み込む方法

    質問です。 現在テキストデータ(data.txt)に 100 95 80 90 10 といった形で保存しています。 以下のように設定すると objFso = new ActiveXObject("Scripting.FileSystemObject"); myFile = objFso.GetFile("c:\\data.txt"); objTxt = myFile.OpenAsTextStream(1); var DATA = new Array(); do{ DATA = new Array(objTxt.ReadLine()); }while(!objTxt.AtEndOfLine) とした場合、DATAには最後の値しか入っていないのですが どこが間違っているのでしょうか? これはDATAがきちんと配列になっていないということでしょうか?

  • Csvから1行ずつ変数に格納するには;

    いつもお世話になっています。 次のようなcsvファイルがあります。 会員番号,パスワード,データ1,データ2,データ3 1234567,1111,1970/1/1,1990/4/1,A 1111111,1,1960/1/1,1985/4/1,AB ・ ・ ・ このcsvファイルをExcelのVBAで次のようなコードで読みとろうとしています。 Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFile("csvファイル名") Set ts = f.OpenAsTextStream(1, -2) ssk = ts.readline readlineは1行だけ読み込むと覚えているのですが、なぜか変数sskにはすべての行が連結された状態で格納されてしまいます。 2回目以降のreadlineでは「ファイルにこれ以上データがありません。」と出ます。何か根本的に間違っているのでしょうか;; このようなcsvファイルを、正しく1行ずつ変数に格納する方法にはどのようなものがありますでしょうか。 よろしくお願いします。

  • VBAでtxtを読み込みxlsで保存したい

    C:\Documents and Settings\All Users\デスクトップ\sample.txt は次のようなデータになっています。 A B C 1,234 567,890 23,333 1,234 567,890 23,333 このデータをVBAを使ってExcelに読み込み、C:\Documents and Settings\All Users\デスクトップ\sample.xls として保存にしたいのですが、どのようなコードを書けばよいものでしょうか? sub test() Dim fso, f, ts Dim sline As String Set fso = CreateObject("scripting.filesystemobject") Set f = fso.getfile("C:\Documents and Settings\All Users\デスクトップ\sample.txt") Set ts = f.openastextstream(1) Do While ts.atendofstream <> True sline = sline & ts.readline & vbCrLf Loop ts.Close ' MsgBox sline End Sub ここまでいったのですが、slineをexcelにだすことができません。 教えていただけると助かります・。

  • 配列の中身の判別

    vbscript初心者です。 教えてください。 HTML内のボタンを実行するとonClick="sub_read()"で CSVファイル(TAB区切り)が読み込まれ 以下のスクリプトが走るのですが、 "型が一致しません"というエラーが表示されてしまいます。 ★マークの箇所が無ければエラーは無いのです。 すみません。 お願い致します。 <%@ Language = VBScript %> <script language=vbscript> Sub sub_read() Const ForReading = 1 Set objFSO = CreateObject("Scripting.FileSystemObject") 'ファイルのレコード数を取得 With objFSO.GetFile(file_path).OpenAsTextStream(8) row = .Line .Close End With ReDim Data(row) i = 1 Set objFile = objFSO.OpenTextFile(file_path, ForReading) Do While objFile.AtEndOfStream <> True      Datas(i) = objFile.ReadLine Data = Datas(i) i = i + 1 DataFields = Split(Data,chr(9)) ★If DataFields(1) = "ABC" Then For j = 0 To Ubound(DataFields) If j = 1 Then MsgBox arrayFields(j)  End If Next Loop ★End If objFile.Close End Sub </script>

  • javascriptでファイルの操作

    下記のコードを書いたのですが、ActiveXObject is not definedというエラーが出ました。 var v = new ActiveXObject("Scripting.FileSystemObject"); どうすれば正常に動作しますか?

  • 合計金額を出すには動的配列?

    初投稿です。ASPで見積スクリプトを作っています。 ソースは・・・ Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") Set ObjTS = ObjFSO.OpenTextFile(data_file) Do Until ObjTS.AtEndofStream Arr = ObjTS.Readline Arr1 = split(Arr,"::") tanka = FormatCurrency(Arr1(1)) goukei = Arr1(1) * Arr1(2) Loop ObjTS.Close Set ObjTS = Nothing Set ObjFSO = Nothing ================================ この、変数:goukeiを全て加算して、 最後に見積合計を出したいんですが、 これを出すには Redim Preserve goukei() のような、動的配列を使うのですか? それとも使わなくても出来るものなんでしょうか? プロの方にとっては、簡単すぎる質問でしょうが、 分かる方、ぜひご教授お願いします。

  • VB6.0 CreateObject以外のファイルI/O

    以前CreateObject("Scripting.FileSystemObject")を使用してファイルを読込む方法、一行ずつ書込む方法を教えていただいたのですが。 環境によってはウイルスチェックに引っかかってしまうようで、別な手段を取らなければならなくなりました。 読込み: Set objFso = CreateObject("Scripting.FileSystemObject") Set objTxtSt = objFso.OpenTextFile(strFilePass, 1) strData = CStr(objTxtSt.ReadAll()) 書込み: Set objFso = CreateObject("Scripting.FileSystemObject") Set objTxtSt = objFso.OpenTextFile(strFilePass, 2, False) Call objTxtSt.WriteLine(strData) 現在の処理は以上です。 上記と同じ処理をCreateObjectを使用せずに作成するにはどのようにすればよろしいでしょうか。

  • テキストファイルに記載されているか調べるには。スクリプト

    Jスクリプトの質問です。 県名のみ記載されている jusho.txt があります。 この中からある県名が記載されているか調べるスクリプトを作ろうとしてますがうまくできません。 登録県名があったらアラートで表示させるにはどうすればいいですか。 途中まで考えましたがわからなくなりました。 -------------------------------------------- //調べたい県名をここで入力 kenmei="愛知県" //登録住所か調べる。 var fso = WScript.CreateObject("Scripting.FileSystemObject"); var stream = fso.OpenTextFile("jusho.txt",1); //1は読み専用 while (stream.AtEndOfStream="false"){ var jusho = stream.ReadLine(); if(kenmei=jusho){alert ("登録されてます")}; }; ----------------------------------------- jusho.txt と スクリプトは同じフォルダにあります。

  • WSHで複数のファイルを読み取り専用にしたい

    WSH初心者です。 ワールドカードを使って複数のファイルを読み取り専用にする方法がわかりません。 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile("C:\*.txt") objFile.Attributes = (objFile.Attributes Or 1) これだと「ファイルが見つかりません」というエラーが出ます。 属性設定には、ワイルドカードが使えないのでしょうか?

  • ExcelVBAマクロでの改ページコードの削除方法

    ExcelVBAマクロについて確認させてください。 下記のようにWordファイルをテキストファイルに落として保存したファイルを 変数aに読み込んでいます。 このとき、読み込んだテキストファイルはWordファイルをテキストファイルに 落とし込んだファイルなので改行コードと改ページコードが残ってしまいます。 この改行コードと改ページコードを削除したうえで再度変数aに読み込むように しようと思っています。 ですが、今のところReplace関数を考えているのですが、 改行コードは削除出来ましたが、改ページコードが削除出来ません。 改ページコードを削除するプログラムを考えているのですが、可能でしょうか。 改ページコードは"^L"か"↓"に似た文字で表示されるようです。 以上、ご教授のほどよろしくお願いします。 ---------------------------------- Sub sample1() Dim a As String a = CreateObject("Scripting.FileSystemObject").GetFile("C:\sample.txt").OpenAsTextStream.Readall a = Replace(a, vbCrLf, "") '改行コードの削除 CreateObject("Scripting.FileSystemObject").GetFile("C:\sample.txt").OpenAsTextStream.Close End Sub