2016-03-28 26 views
0

我已經爲讀取txt文件創建了一個代碼,並刪除了該文件中的一組行並將其保存在另一個位置。您能否幫我修改讀取特定文件夾中多個文件的代碼,然後對所有文件執行該過程,並將這些文件保存在不同文件夾中的同名文件中。我附上了代碼。處理文件夾中的多個文件,並使用vba放置在具有相同文件名的不同文件夾中

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 

在此先感謝

+2

[this](http://stackoverflow.com/questions/10380312/loop-through-files-in-a-folder-using-vba)將有所幫助。在問這個問題之前,你甚至搜索過解決方案嗎? –

回答

0

您可以使用斯科特的建議,遍歷文件,並致電以下版本處理任何給定的文件。你應該添加錯誤處理。

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 
相關問題