• 締切済み

vbscript ファイル操作

二つのテキストファイルを行レベルで結合したファイルを 作成しようとしています。 ファイルの最後を越えた入力を行おうとしました。 とエラーが吐き出され、結合したファイルがうまく作成されません。 -vbscritptファイル- dim f, f_a, f_b, f_bu, f_mk, wrtxt set f = createobject("scripting.filesystemobject") set f_a = f.opentextfile("c:\temp\a.txt",1) set f_b = f.opentextfile("c:\temp\b.txt",1) set f_mk = f.createtextfile("c:\temp\result.txt") f_mk.close set wrtxt = f.opentextfile("c:\temp\result.txt",2) do while f_b.atendofstream <> true if not f_a.readline & f_b.readline = "" then wrtxt.writeline(f_a.readline & " " & f_b.readline) else exit do end if loop f_a.close f_b.close   -a.txt- 2008/07/01 9:30 2008/07/02 9:59 2008/07/03 9:35 2008/07/04 9:52 2008/07/08 9:45 2008/07/09 9:47 2008/07/10 9:15 2008/07/11 9:44 2008/07/14 9:44 2008/07/15 9:43 2008/07/16 13:19 2008/07/17 9:45 2008/07/18 9:31 2008/07/22 9:39 2008/07/23 9:28 2008/07/24 9:41 2008/07/25 9:58 2008/07/28 9:29 2008/07/29 9:49 2008/07/30 9:50 2008/07/31 9:21 -b.txt- 2008/07/01 18:25 2008/07/02 19:15 2008/07/03 18:45 2008/07/04 19:16 2008/07/08 18:36 2008/07/09 19:14 2008/07/10 18:46 2008/07/11 21:58 2008/07/14 22:36 2008/07/15 19:42 2008/07/16 18:00 2008/07/17 19:19 2008/07/18 18:16 2008/07/22 19:56 2008/07/23 18:42 2008/07/24 18:38 2008/07/25 21:55 2008/07/28 21:31 2008/07/29 22:23 2008/07/30 20:13 2008/07/31 20:00 期待値 2008/7/1 9:30 2008/7/1 18:25 2008/7/2 9:59 2008/7/2 19:15 2008/7/3 9:35 2008/7/3 18:45 2008/7/4 9:52 2008/7/4 19:16 2008/7/8 9:45 2008/7/8 18:36 2008/7/9 9:47 2008/7/9 19:14 2008/7/10 9:15 2008/7/10 18:46 2008/7/11 9:44 2008/7/11 21:58 2008/7/14 9:44 2008/7/14 22:36 2008/7/15 9:43 2008/7/15 19:42 2008/7/16 13:19 2008/7/16 18:00 2008/7/17 9:45 2008/7/17 19:19 2008/7/18 9:31 2008/7/18 18:16 2008/7/22 9:39 2008/7/22 19:56 2008/7/23 9:28 2008/7/23 18:42 2008/7/24 9:41 2008/7/24 18:38 2008/7/25 9:58 2008/7/25 21:55 2008/7/28 9:29 2008/7/28 21:31 2008/7/29 9:49 2008/7/29 22:23 2008/7/30 9:50 2008/7/30 20:13 2008/7/31 9:21 2008/7/31 20:00 vbscriptを使い出したのは最近のため、どこが悪いのかわかりません。 ご指導よろしくお願い致します。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

>作成したソースのどの部分で値を捨ててしまっているのかを vbscriptだけでなくプログラム自体初めてですね。 まずは何かの言語の入門書を読みましょう。 プログラムの基本の最低ラインを身につけないと自分で書くのは無理です。

monogatari
質問者

お礼

そうですか。わかりました。 ありがとうございました。 MS-DOSで作成しなおしたところ、 同様の動きを確認することができました。 お手数おかけいたしました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

readlineを実行するとファイルの次の行を読んじゃうのでその値を捨てちゃ駄目です。 do while (not f_a.atendofstream) and (not f_b.atendofstream) wrtxt.writeline(f_a.readline & " " & f_b.readline) loop かな。

monogatari
質問者

お礼

できました!!! ありがとうございます!!! どういう動きをしているのかを教えていただけないでしょうか? readlineは一行分を読み込むとネットにありましたが、 作成したソースのどの部分で値を捨ててしまっているのかを 知りたいです。 よろしくお願い致します(^^♪