vbsの質問です

hoge.txt
*********
a
b
*********
を置換して
*********
1
b
*********
というテキストファイルのしたいのでVBSスクリプトを組んだのですがうまくいきません
どうすればうまくいきますでしょうか?


Dim objFile ' 対象ファイル
Dim oldText ' 置換前テキスト
Dim newText ' 置換後テキスト
Dim objFSO ' ファイルシステムオブジェクト
Dim objRep ' 正規表現オブジェクト
Dim repText ' 置換後文字列

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("hoge.txt")
' テキストデータ読込
oldText = objFile.ReadAll
' 置換後文字列
repText = "1"
Set objRep = New RegExp
objRep.Multiline = True
' 正規表現パターンを指定する
objRep.Pattern = "a\n"
' テキスト変換
newText = objRep.replace(oldText, repText)
objFile.Close
' 書き込み
Set objFile = objFSO.CreateTextFile("aab.txt")
objFile.WriteLine (newText)
objFile.Close

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/03/02 04:08:09
  • 終了:2013/03/02 13:14:19

ベストアンサー

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982013/03/02 07:31:12

ポイント100pt
Dim objFile ' 対象ファイル
Dim oldText ' 置換前テキスト
Dim newText ' 置換後テキスト
Dim objFSO ' ファイルシステムオブジェクト
Dim objRep ' 正規表現オブジェクト
Dim repText ' 置換後文字列

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("hoge.txt")
' テキストデータ読込
oldText = objFile.ReadAll
' 置換後文字列
repText = "1"
Set objRep = New RegExp
objRep.Multiline = True
' 正規表現パターンを指定する
objRep.Pattern = "a\r\n"
' テキスト変換
newText = objRep.replace(oldText, repText)
objFile.Close
' 書き込み
Set objFile = objFSO.CreateTextFile("aab.txt")
objFile.WriteLine (newText)
objFile.Close


vbsでの改行は

"\r\n"

となります。

他2件のコメントを見る
id:takanii

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

2013/03/02 13:14:10
id:taknt

質問では できませんので、一度質問してから、補足で出したらいいです。
補足だと できるようです。

2013/03/02 13:23:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません