VBScript .... CSV合并过程永不结束

时间:2015-03-10 14:35:21

标签: excel-vba csv vbscript vba excel

我有一个VBscript,它将多个CSV文件合并为一个CSV文件。该脚本在第一次运行时完美地组合了这些文件。但是,当重新运行以将数据附加到现有CSV时,进程永远不会结束或无限循环开始。

以下是合并数据的功能。 " FilesToWorkWith"是一个字典,文件名为键,文件对象为值。我希望我已经解释了这个问题。

Set FilesDict = CreateObject("Scripting.Dictionary")

For each iFile in objFiles

    If(CheckExtension(iFile) = True) Then               
            FilesDict.Add iFile.Name, iFile         
    End if

Next

Function MergeCSV (UIDReportsFolderLocation,strCombinedUIDFileName)   

FilesToWorkWith = FilesDict.Keys
Set outFile = objFSO.OpenTextFile(UIDReportsFolderLocation & "\" & strCombinedUIDFileName & ".csv", ForAppending, CreateIfNotExist, OpenAsASCII)

Dim firstFile
firstFile = True

For Each Key in FilesToWorkWith

    Set objFile = objFSO.OpenTextFile(FilesDict(Key), ForReading)   

    If Not firstFile = True Then
        objFile.Skipline
    End if

    Do 
        strTemp = objFile.ReadLine

        If Not strTemp = "" Then                
            outFile.WriteLine strTemp
        End if

    Loop Until objFile.AtEndOfStream = True

    objFile.Close

    firstFile = False


Next

outFile.close
Set iFile = Nothing
set objFile = Nothing
Set FilesDict = Nothing
Set objFSO = Nothing

End Function

请帮忙......

1 个答案:

答案 0 :(得分:1)

最明显的原因是您的输出文件正在作为输入文件处理,并且只是循环将其自身附加到自身。你没有展示如何初始化FilesToWorkWith,所以不可能确定,但​​这是我看的第一个地方。