2010-12-05 21 views
0

ファイルの最後に余分なCRLFを持つテキストファイルに追加するには、以下のコードを変更する方法を理解しようとしています。私はCHR(10)をどこに置くかによって、結果が混乱する。任意のアイデアをどのようにCRLFを削除するか、空白行を削除しますか?私は余分なCRLFのを終了する必要があります!VBSは空白なしでテキストファイルに行を追加します

'このスクリプトは、20の倍数でない場合、RandomCSVファイルに行を追加します。 'ファイルがすでに20の倍数になっている場合、何も起こりません。

dim filesys, readfile, contents, lines, remainder, LinesToAdd, StaticLine, Appendfile, Count 
dim field1, field2, field3, field4  
set filesys = CreateObject("Scripting.FileSystemObject") 
Set readfile = filesys.OpenTextFile("C:\RandomCSV.txt", 1, false) 
contents = readfile.ReadAll 
Lines = readfile.line 
readfile.close 
    MsgBox "The file contains this many lines " & Lines 
remainder = lines mod 20 
LinesToAdd = (20 - remainder) 
    MsgBox "Adding this many lines " & LinesToAdd 
If LinesToAdd <> 20 then 
    Set Appendfile = filesys.OpenTextFile("C:\RandomCSV.txt", 8, false) 
For Count = 1 to LinesToAdd 
    Appendfile.write Chr(34) & "Field1" & Chr(34) & Chr(44) & Chr(34) & "Field2" & Chr(34) & Chr(44) & Chr(34) & "Field3" & Chr(34) & Chr(44) & Chr(34) & "Field4" & Chr(10) 
Next 
appendfile.close 
End If 
+0

宿題場合objFile.Close?それのためのタグがあります! – Cheeso

+1

あなたはそれを宿題と呼ぶことができると思います。お客様は火曜日に作業する予定です! – Dorkygrin

答えて

0

ここでは、ファイルの最後にCRLFを取り除くためにやったことがあります。
'=============
'ファイルの最後に空白行を取り除く Dim strEnd

のConst ForReading = 1 「のConst ForWriting = 2

セットobjFSO =のCreateObject( "Scripting.FileSystemObjectオブジェクト") セットのobjfile = objFSO.OpenTextFile( "C:\ RandomCSV.txt"、ForReading) strFile = objFile.ReadAll objFile.Close

intLength = Len(strFile) strEnd =右(strFile、2)

strEnd =のvbCrLf場合、
strFile =左(strFile、intLength - 2)
設定のobjfile = objFSO.OpenTextFile( "C:randomCSV.txt"、ForWriting)
objFile.Write strFile

エンド
strFile = ""

関連する問題