こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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を使い出したのは最近のため、どこが悪いのかわかりません。
ご指導よろしくお願い致します。

投稿日時 - 2008-08-23 02:12:58

QNo.4271387

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

>作成したソースのどの部分で値を捨ててしまっているのかを

vbscriptだけでなくプログラム自体初めてですね。
まずは何かの言語の入門書を読みましょう。
プログラムの基本の最低ラインを身につけないと自分で書くのは無理です。

投稿日時 - 2008-08-23 22:59:46

お礼

そうですか。わかりました。
ありがとうございました。

MS-DOSで作成しなおしたところ、
同様の動きを確認することができました。

お手数おかけいたしました。

投稿日時 - 2008-08-26 01:42:51

ANo.1

readlineを実行するとファイルの次の行を読んじゃうのでその値を捨てちゃ駄目です。

do while (not f_a.atendofstream) and (not f_b.atendofstream)
wrtxt.writeline(f_a.readline & " " & f_b.readline)
loop

かな。

投稿日時 - 2008-08-23 03:09:49

お礼

できました!!!
ありがとうございます!!!

どういう動きをしているのかを教えていただけないでしょうか?

readlineは一行分を読み込むとネットにありましたが、
作成したソースのどの部分で値を捨ててしまっているのかを
知りたいです。

よろしくお願い致します(^^♪

投稿日時 - 2008-08-23 03:31:09

あなたにオススメの質問