2008.10.07

VBScriptで改行コードを変換する!

今回はVBScriptで改行コードを変換する方法を紹介します。

実際には改行コードを変換するのではなく、
変換するファイルを読み込んで別のファイルを作成するというもの。
その際に、改行コードを設定します。

下記は改行コードを「CRLF」から「LF」に変換します。

'書き込みモード、読み込みモードをコンストで保持
Const ForReading = 1, ForWriting = 2

'変換するファイルの名前を設定
filename = "ファイルの名前"

'新しく作成するファイルの名前
'最後に名前を変換元の名称に変換するので何でもいいです
tmpfilename = "一時ファイルの名前"

Set obj = CreateObject("Scripting.FileSystemObject")

'変換するファイルを読み込みモードで開く
Set file = obj.OpenTextFile(filename, ForReading)

'作成するファイルを書き込みモードで開く
Set tmpfile = obj.OpenTextFile(tmpfilename, ForWriting, True)

'ファイルの終わりに達するまでは繰り返す
do while not file.AtEndOfStream

'変換元のファイルから一行読み込む
buf = file.ReadLine

'書き込む際に改行コードをつける
tmpfile.Write buf & vbLf
loop

'各ファイルの
file.Close
tmpfile.Close

'作成元のファイルを削除
obj.DeleteFile filename

'作成元のファイルに移動
obj.MoveFile tmpfilename, filename

MsgBox "終了"

変換するデータや環境にもよるのですが、
ただ単純に一行読み込んで、一行出力するだけなので、
10万件でも5~10秒程度で変換出来ると思います。

※1レコード400バイトのデータ10万件で実行したところ、5秒程度で変換できました。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
jnakamura