トップ 一覧 ping 検索 ヘルプ RSS ログイン

VBS テキストファイル変換テンプレートの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!VBS テキストファイル変換テンプレート
[VBScript]
!!テキスト変換テンプレート
*以下の内容を .vbs ファイルで作成
*変換元ファイルをドロップすると、test.txt.【変換_20091126_120221】.txt のようなファイル名で、変換後ファイルを作成する

 '
 ' テキスト変換テンプレート
 '
 ' @see http://msdn.microsoft.com/ja-jp/library/cc410284.aspx
 '
 Sub TranslateText()
     '作業用
     Dim fso                 ' FileSystemObject http://msdn.microsoft.com/ja-jp/library/cc409798.aspx
     Dim srcFile, dstFile    ' srcFile:変換元ファイルパス, dstFile:変換先ファイルパス
     Dim inf, outf           ' inf:変換元ファイル, outf:変換先ファイル
     Dim output_count        ' 出力件数カウント
     Dim line                ' 作業用ファイル内容行
 
     'エラーチェック
     IF WScript.Arguments.Count < 1 THEN
         Call WScript.Echo("対象ファイルをこのファイルにドロップしてください")
         Exit Sub
     END IF
 
     Set fso = CreateObject("Scripting.FileSystemObject")
     srcFile = WScript.Arguments(0)
     IF Not fso.FileExists(srcFile) Then
         Call WScript.Echo("対象ファイルが存在しません。")
         Exit Sub
     End If
 
     'ファイルの準備
     suffix = Replace(Date,"/","") & "_" & Replace(Time,":","")
     dstFile = srcFile & ".【変換_" & suffix & "】.txt"
 
     Set inf  = fso.OpenTextFile(srcFile, 1)        '1:ForReading
     Set outf = fso.OpenTextFile(dstFile, 2, True)  '2:ForWriting
 
     '変換、出力処理
     output_count = 0
     Do While Not inf.AtEndOfLine
         line = inf.ReadLine()
         
         ' ここで変換処理を行う Replace http://msdn.microsoft.com/ja-jp/library/cc410284.aspx
         ' Replace(expression, find, replacewith[, start[, count[, compare]]])
         ' count:置換する文字列数 -1ならすべて
         ' compare:0バイナリ、1:テキストモード
         '
         line = Replace(line,"From","To",1,-1,1)
         
         '出力
         outf.WriteLine(line)
         output_count = output_count + 1
     Loop
 
     Call WScript.Echo(output_count & "件処理しました。")
 End Sub
 
 '主処理
 Call TranslateText()