「VBS テキストファイル変換テンプレート」の版間の差分
ナビゲーションに移動
検索に移動
1行目: | 1行目: | ||
− | ==VBS テキストファイル変換テンプレート== | + | ==[[VBS テキストファイル変換テンプレート]]== |
[[VBScript]] | | [[VBScript]] | | ||
===テキスト変換テンプレート=== | ===テキスト変換テンプレート=== | ||
12行目: | 12行目: | ||
Sub TranslateText() | Sub TranslateText() | ||
'作業用 | '作業用 | ||
− | Dim fso ' FileSystemObject http://msdn.microsoft.com/ja-jp/library/cc409798.aspx | + | Dim fso ' [[FileSystemObject]] http://msdn.microsoft.com/ja-jp/library/cc409798.aspx |
Dim srcFile, dstFile ' srcFile:変換元ファイルパス, dstFile:変換先ファイルパス | Dim srcFile, dstFile ' srcFile:変換元ファイルパス, dstFile:変換先ファイルパス | ||
Dim inf, outf ' inf:変換元ファイル, outf:変換先ファイル | Dim inf, outf ' inf:変換元ファイル, outf:変換先ファイル | ||
19行目: | 19行目: | ||
'エラーチェック | 'エラーチェック | ||
− | IF WScript.Arguments.Count < 1 THEN | + | IF [[WScript]].Arguments.Count < 1 THEN |
− | Call WScript.Echo("対象ファイルをこのファイルにドロップしてください") | + | Call [[WScript]].Echo("対象ファイルをこのファイルにドロップしてください") |
Exit Sub | Exit Sub | ||
END IF | END IF | ||
− | Set fso = CreateObject("Scripting.FileSystemObject") | + | Set fso = CreateObject("Scripting.[[FileSystemObject]]") |
− | srcFile = WScript.Arguments(0) | + | srcFile = [[WScript]].Arguments(0) |
IF Not fso.FileExists(srcFile) Then | IF Not fso.FileExists(srcFile) Then | ||
− | Call WScript.Echo("対象ファイルが存在しません。") | + | Call [[WScript]].Echo("対象ファイルが存在しません。") |
Exit Sub | Exit Sub | ||
End If | End If | ||
'ファイルの準備 | 'ファイルの準備 | ||
− | suffix = | + | suffix = [[R]]eplace(Date,"/","") & "_" & [[R]]eplace(Time,":","") |
dstFile = srcFile & ".【変換_" & suffix & "】.txt" | dstFile = srcFile & ".【変換_" & suffix & "】.txt" | ||
− | Set inf = fso.OpenTextFile(srcFile, 1) '1: | + | Set inf = fso.OpenTextFile(srcFile, 1) '1:For[[R]]eading |
Set outf = fso.OpenTextFile(dstFile, 2, True) '2:ForWriting | Set outf = fso.OpenTextFile(dstFile, 2, True) '2:ForWriting | ||
41行目: | 41行目: | ||
output_count = 0 | output_count = 0 | ||
Do While Not inf.AtEndOfLine | Do While Not inf.AtEndOfLine | ||
− | line = inf. | + | line = inf.[[R]]eadLine() |
− | ' ここで変換処理を行う | + | ' ここで変換処理を行う [[R]]eplace http://msdn.microsoft.com/ja-jp/library/cc410284.aspx |
' Replace(expression, find, replacewith[, start[, count[, compare]]]) | ' Replace(expression, find, replacewith[, start[, count[, compare]]]) | ||
' count:置換する文字列数 -1ならすべて | ' count:置換する文字列数 -1ならすべて | ||
' compare:0バイナリ、1:テキストモード | ' compare:0バイナリ、1:テキストモード | ||
' | ' | ||
− | line = | + | line = [[R]]eplace(line,"From","To",1,-1,1) |
'出力 | '出力 | ||
55行目: | 55行目: | ||
Loop | Loop | ||
− | Call WScript.Echo(output_count & "件処理しました。") | + | Call [[WScript]].Echo(output_count & "件処理しました。") |
End Sub | End Sub | ||
'主処理 | '主処理 | ||
Call TranslateText() | Call TranslateText() |
2020年2月16日 (日) 04:33時点における最新版
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()
© 2006 矢木浩人