处理文件夹中的多个文件,并使用vba放置在具有相同文件名的不同文件夹中

时间:2016-03-28 10:39:11

标签: excel vba excel-vba

我已经创建了一个用于读取txt文件的代码并删除该文件中的一组行并将其保存在另一个位置。你能帮我修改读取特定文件夹中存在的多个文件的代码,然后对所有文件进行处理,并将这些文件保存在不同的文件夹中。我已经附上了代码。

Sub cleantext()
Dim lineOfText As String
Dim skipLines As Boolean
'Open files for writing
Open "C:\Users\INNAR1\Desktop\input_static_files\ebb_htr01h.UCBG" For Input As #1
Open "C:\Users\INNAR1\Desktop\output_static_files\ebb_htr01h.UCBG" For Output As #2




skipLine = False
Do Until EOF(1)
Line Input #1, lineOfText
If lineOfText = "dynamics" Then skipLines = True
If lineOfText = "end dynamics" Then skipLines = False
If Not skipLines And Not lineOfText = "end dynamics" Then Print #2, lineOfText
Loop
Close #1
Close #2
End Sub

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以使用Scott的建议来循环文件并调用以下版本来处理任何给定文件。您应该添加错误处理。

Sub cleantext(ByVal InputFileName As String, ByVal OutputFileName As String)
    Dim lineOfText As String
    Dim skipLines As Boolean

    Dim iInput As Integer
    Dim iOutput As Integer




    'Open files for writing
    Open InputFileName For Input As #iInput
    Open OutputFileName For Output As #iOutput

    skipLine = False
    Do Until EOF(1)
        Line Input #iInput, lineOfText
        If lineOfText = "dynamics" Then skipLines = True
        If lineOfText = "end dynamics" Then skipLines = False
        If Not skipLines And Not lineOfText = "end dynamics" Then Print #iOutput, lineOfText
    Loop

    Close #iInput
    Close #iOutput
End Sub