Option Explicit
Dim targetPath : targetPath = "C:\xxxx\sample.txt"
Dim bkPath : bkPath = "C:\xxxx\sample_bk.txt"
'//ファイルの文字コードを指定
const strCode = "Shift-Jis" '//文字コード指定 "Shift-Jis" "UTF-8"
call ReplaceCtoTab(targetPath,"^\r\n","")
'=========================================================
'機能名 : Sub ReplaceCtoTab
'引数 : pm_targetPath 処理対象のパス
' : pm_pattern パターン
' : pm_aftStr 置換後の文字列
'処理 : 対象パスに記載されたテキストを置換
'=========================================================
Sub ReplaceCtoTab( pm_targetPath ,pm_pattern ,pm_aftStr)
'---------------------------------------------------------------------------------------
'//文字列の置換
'---------------------------------------------------------------------------------------
Dim regEx : Set regEx = New RegExp '//RegExpオブジェクト
With regEx
.Pattern = pm_pattern '//パターン
.IgnoreCase = True '//大文字小文字を区別しない
.Global = True '//全体を検索
.MultiLine = True
End With
'---------------------------------------------------------------------------------------
'//読み込みファイルの指定 (相対パスなのでこのスクリプトと同じフォルダに置いておくこと)
'---------------------------------------------------------------------------------------
Dim input
Set input = CreateObject("ADODB.Stream")
input.Type = 2 '//1:バイナリ・2:テキスト
input.Charset = strCode '//文字コード指定
input.Open '//Stream オブジェクトを開く
input.LoadFromFile pm_targetPath '//ファイルを読み込む
'---------------------------------------------------------------------------------------
'//書き出しファイルの指定 (今回は新規作成する)
'---------------------------------------------------------------------------------------
Dim output: Set output = CreateObject("ADODB.Stream")
output.Type = 2
output.Charset = strCode
output.Open
'---------------------------------------------------------------------------------------
'//文字列処理
'---------------------------------------------------------------------------------------
Dim StrText
StrText = input.ReadText(-1) '//-1:全行読み込み・-2:一行読み込み
StrText = regEx.Replace(StrText,pm_aftStr)
output.WriteText StrText, 0 '//0:文字列のみ書き込み・1:文字列 + 改行を書き込み
'---------------------------------------------------------------------------------------
'//Stream を閉じる
'---------------------------------------------------------------------------------------
input.Close
'---------------------------------------------------------------------------------------
'//書き出しファイルの保存
'---------------------------------------------------------------------------------------
output.SaveToFile pm_targetPath, 2 '//1:指定ファイルがなければ新規作成・2:ファイルがある場合は上書き
output.Close
'---------------------------------------------------------------------------------------
'//ログファイルを開く
'---------------------------------------------------------------------------------------
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell") '//シェルオブジェクトの作成
objWshShell.Run pm_targetPath '//シェルの実行
End Sub
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント