• 締切済み

ASPでdatファイル書き出しについて

いまだにASPの質問で申し訳ありません。 現在作成中のフォームは、キャラセットがUTF-8です。 datファイルに書き込みを行うのですが、書き込む言語は簡体字となります。日本語、英語、英数字は書き込みができたのですが、フォームより簡体字を入力したところ、エラーが発生します。 内容は、プロシージャを使用してもいないのに「プロシージャの呼び出し、または引数が不正です。」と言われます。下記の部分がエラー対象行となっていました。 ↓ ここから ↓ Set objFs=Server.CreateObject("Scripting.FileSystemObject") Set objTs=objFs.OpenTextFile(Server.MapPath("dl.dat"),8,True) objTs.WriteLine T_DATE & "," & USR_NAME & "," & LOC objTs.Close ↑ ここまで ↑ Response.Writeでの表示はできたのですが、datへの書き込みができず、どのように対応したらよいかわかりません。 どなたか御教示願えませんでしょうか。よろしくお願いいたします。

みんなの回答

回答No.1

回答される方がいないようなので。。。 以下のようなASPファイルを作成し、簡体字を入力した(中国語は まったくわからないので適当に)ところ、dl.datに書き込まれていました。 他の言語なら書き込めるということはファイル権限ではなさそうですよね。 ==== start of test.asp ==== <%@ Language = VBScript %> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE>Hello World</TITLE> </HEAD> <BODY> <FORM method="POST" action="test.asp"> <INPUT type="TEXT" name="USR_NAME"> </FORM> <% USR_NAME = Request.Form("USR_NAME") Set objFs = Server.CreateObject("Scripting.FileSystemObject") Set objTs = objFs.OpenTextFile(Server.MapPath("dl.dat"), 8, True) objTs.WriteLine USR_NAME objTs.Close %> </BODY> </HTML> ==== end of test.asp ====

関連するQ&A

  • csvファイルを読み込む方法について

    aspにてscvファイルを読み込む際、直接ファイル名を指定するとうまくいくのですが、ファイル名を変数で指定しようとすると、「ファイルが見つかりません」というエラーになってしまいます。どのように記述すれば良いでしょうか。お教えください。よろしくお願いいたします。 (例) 'OK Set objFS = CreateObject("Scripting.FileSystemObject") Set objText = objFS.OpenTextFile(Server.MapPath("aaa.csv"),1) 'NG fname = "aaa.csv" Set objFS = CreateObject("Scripting.FileSystemObject") Set objText = objFS.OpenTextFile(Server.MapPath(fname),1) また、 Set objText = objFS.OpenTextFile(Server.MapPath("""" & fname & """"),1) としてもダメでした。以上です。

  • ASP.NETでのアクセスカウンター導入方法

    どうぞよろしくお願いします。 現在、ASP.NETでホームページを作成しておりますが、 旧来、aspで使用していたアクセスカウンターが動きません。set代入ステートメントはサポートされてませんというエラーが出ます。 以下ソースなのですが、簡単な修正で使うことはできますか? また、aspのフリーアクセスカウンターはネット上にたくさんありますが、asp.NETのものがあるサイトがありましたら教えてください。 よろしくお願いします。 <% Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") filename = Server.MapPath("data/count.dat") 'カウンタファイルを読み取り専用で開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,1,True) 'カウンタ値を取得します。 If ObjTS.AtEndOfStream Then cnt = 0 Else cnt = ObjTS.ReadLine End If 'ファイルを閉じます。 ObjTS.Close 'カウンタ値を加算します。 cnt = cnt + 1 'カウンタファイルを上書きモードで開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,2,True) 'ファイルにカウンタ値を書き込みます。 ObjTS.WriteLine cnt 'ファイルを閉じます。 ObjTS.Close 'カウンタ値を表示します。 Response.Write "現在までのアクセス数:" & cnt 'オブジェクトを解放します。 Set ObjTS = Nothing Set ObjFSO = Nothing %>

  • ASPでテキストファイルにデータを出力

    フォーム20020128.aspの入力内容をpostメソッドで20020128_result.aspに送り、記録用テキストファイル20020128_kiroku.txtに書き込むASPスクリプトを作成しましたが、IE6.0ステータス行に『ページ/asp/20020128_result.aspを開いてます。』というメッセージがプログレスバーとともに表示され、地球アイコンが回り続けます。 動作テスト時のIISおよび、当該ディレクトリ、ファイルの権限は全てチェックをつけてあります。定数の実数表記、仮想から物理ディレクトリへの変更、PostからGetへの変更等色々トライし、状況は変わらずです。 記録用テキストファイルは更新日時が作成日時のままなので追記は行われてません 動作テストは、Win2000サーバー(IIS Ver.5, ASP Ver.3)とプロフェッショナルとで実施、パス指定に間違いがないか、.FileExists等で確認をしました。 問題解決方法等につき諸先輩方のアドバイスを乞う次第です。 どうぞよろしくお願いいたします。 【仮想ディレクトリ】 /asp ├20020128.asp ├20020128_result.asp └20020128_kiroku.txt 【20020128.asp】 <form method="post" action="20020128_result.asp"> お名前:<input type="text" name="namae"><br> ご住所:<input type="text" name="jusho"><br> お電話:<input type="text" name="denwa"><br> <input type="submit" value="送信"> <input type="reset" value="取消"> </form> 【20020128_result.asp】 <% Set objFs = Server.CreateObject("Scripting.FileSystemObject") Set objTs = objFs.OpenTextFile(Server.MapPath("/asp/20020128_kiroku.txt"), ForAppending)  objTs.Write Request.Form("namae") & ","  objTs.Write Request.Form("jusho") & ","  objTs.WriteLine Request.Form("denwa")  objTs.Close %>

  • CSVファイルの読み込み

    ASPの勉強をしています。 CSVファイルを読み込んでDBに登録していきたいのですが、 111,222,"aaa[改行]bbb","1,000",444,555 のようなデータがあったとすると、 「1,000」の桁区切りのカンマのせいで、 「1」 と 「000」に別れてしまいます。 これを防ぐプログラムを作りたいのですが、 わかる方よろしくお願いします。 現在はReadLineで1行ずつ読み込んでいます。 set ObjFS = CreateObject("Scripting.FileSystemObject") set Stream = ObjFS.OpenTextFile(Server.MapPath(FILENAME,1,false,0) ReadBuf = Stream.ReadLine

  • 変数がの入れ方を教えてください。

    Set ObjTS = ObjFSO.OpenTextFile(Server.MapPath("list.txt"),1) この("list.txt")の"list"に変数を使う場合はどうしたらいいでしょうか。 "list"という名前じゃないかもしれないんで変数にして指定したいんですけれど。 <%= %>は、無理ですし・・。 よろしくお願いいたします。

  • ASPでファイル書き込みができない。

    こんばんわ、ASPで悩みまくってます。 今、win2000にIISを入れて動作させてます。 つまづいたのはファイル書き込みの個所です。 これを書いたソースを実行させると、ブラウザが真っ白になり、 以後、返答がなくなります。 最後の「ハロー」が表示されないのでそこまで行ってないのかも しれません。 個人的にはIISの権限かなとおもい、いろいろやってみました。が、 うまくいきません。同じような現象の起きた方はおられますでしょうか? 教えていただけたら、嬉しいです。 以下はソースです。 <% FilePath = Server.MapPath("./test.csv") Set FileOBJ = Server.CreateObject("Scripting.FileSystemObject") Set LogFile = FileOBJ.OpenTextFile(FilePath,2,True,False) LogFile.Write("文字列") FileOBJ.Close Set FileOBJ = Nothing Response.Write "ハロー" %>

  • VBSでカンマ区切り

    お世話になっております。 VBSで、CSVファイルをカンマ区切りで配列にし、 ファイルに書き出したいです。 下記のスクリプトを実行すると3行の改行と これ⇒ ---------------- だけ出力されます。 Splitは使用できないのでしょうか? どこが間違っているのかわかりません。 ご教授いただけませんでしょうか。 '--------------------------------------------------------------- On Error Resume Next Set OBJFS01 = CreateObject("Scripting.FileSystemObject") Set CSVTEXT01 =OBJFS01.OpenTextFile("C:\tmp\CSVTEXT.log") Set LOGTEXT01 =OBJFS01.OpenTextFile("C:\tmp\LOGTEXT.log",8,False) '--------------------------------------------------------------- i = 0 Dim HAIRETU(27) Do While i < 6 HAIRETU(27) = Split(CSVTEXT01, ",") LOGTEXT01.WriteLine(HAIRETU(2)) LOGTEXT01.WriteLine(HAIRETU(3)) LOGTEXT01.WriteLine(HAIRETU(4)) LOGTEXT01.WriteLine("----------------") i = i + 1 Loop LOGTEXT01.close CSVTEXT01.close

  • OpenTextFile で書き込みできません。

    dim ObjFSO,ObjTS 'オブジェクトを作成します。 Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") 'ファイルを開きます。 Set ObjTS = ObjFSO.OpenTextFile(filename,1,false) filenameにはC:\Documents and Settings\○○○\デスクトップ\test.csvが入っています。 サーバーのパスにtest.csvを持っていくと問題なく動作しますが、それ以外デスクトップからだと「書き込みできません。」とエラーメッセージができません。 どうしたらいいでしょうか? よろしくお願い致します。

  • 【WSH】スクリプトを作るスクリプト

    初めて質問させていただきます。 規定によりフリーソフトがインストールできない為 社内で使用するスクリプトをWSH(vbs)で作成しました。 次の段階として、そのスクリプトをユーザーの入力に合わせて作成するスクリプトを 作成しようとしているのですが、一つ問題があり先に進めなくなってしましました。 目的としては InputBox関数でユーザーが入力したパスをWriteLineでスクリプト内に 入れ込みたいんですが、 例えば下記のようなスクリプトを組み、走らせて作成される 「スクリプトA.vbs」を走らせても、もちろん p としか表示されません。 p = InputBox("フォルダのパスを入力してください。") Set objFS = CreateObject("Scripting.FileSystemObject") Set objTS = objFS.CreateTextFile("スクリプトA.vbs") objTS.WriteLine "MsgBox ""p""" objTS.Close WriteLineの中に変数を代入することは不可能なんでしょうか? それ以外でもいい方法があればご教授いただきたいです。 よろしくお願いします。

  • テキストファイルの更新?

    ASP初心者です。 テキストファイルを出力したいのですが下記のエラーがでます。ファイルのインターネットユーザーはアクセス可能にしています。 Microsoft VBScript 実行時エラー (0x800A0046) 書き込みできません。 ソースは下記です。 Set Fs = Server.CreateObject("Scripting.FileSystemObject") Set Stream = Fs.OpenTextFile("topnews.html",2,true) Stream.WriteLine "<html>"        ・        ・ 原因として何が考えられますか?お教え願います。