人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBSの質問です
以下のスクリプトを実行した場合 2番目の置換条件が適応されないのですがどこがダメなのでしょうか?教えてください。
元ネタはこちらです http://q.hatena.ne.jp/1362838683

●質問者: takanii
●カテゴリ:インターネット
○ 状態 :キャンセル
└ 回答数 : 0/0件

▽最新の回答へ

質問者から

'ファイルネームリネーム
Call Main()
Sub Main()
Dim fso ' ファイルシステムオブジェクト
Set fso = CreateObject("Scripting.FileSystemObject")
Dim folder
Set folder = fso.GetFolder(".")
Dim strTargetName ' 対象フォルダ名
Dim strInputFileName ' 入力ファイル名
Dim strOutputFileName ' 出力ファイル名
Dim subFolder
For Each subFolder In folder.SubFolders
strTargetName = subFolder.Name
' フォルダ名が数字の場合、処理対象とする
If IsNumeric( strTargetName ) Then
strInputFileName = subFolder & "\aa.html"
strOutputFileName = folder.Path & "\bb\" & strTargetName & ".html"
Call ChangePathName( fso, strTargetName, strInputFileName, strOutputFileName )
End If
Next
End Sub
Sub ChangePathName( fso, strTargetName, strInputFileName, strOutputFileName )
Dim file ' 対象ファイル
Dim file2 ' 書き込み先ファイル
Dim re ' 正規表現オブジェクト
Dim strOldText ' 置換前テキスト
Dim strNewText ' 置換後テキスト
Dim strFind ' 検索文字列
Dim strReplace ' 置換文字列
Set file = fso.OpenTextFile( strInputFileName )
strOldText = file.ReadAll
'オブジェクトの準備とパラメータ設定
Set re = New RegExp
re.Multiline = True
re.Global = True
'置換1
strFind = "
strReplace = "
re.Pattern = strFind
strNewText = re.Replace(strOldText, strReplace)
' 置換2
strFind = "abcd"
strReplace = "ab" & strTargetName & "cd"
re.Pattern = strFind
strNewText = re.Replace(strNewText, strReplace)
file.Close
Set file2 = fso.CreateTextFile( strOutputFileName )
file2.WriteLine (strNewText)
file2.Close
End Sub


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ