2017-07-12 96 views
0

這是我得到幫助的前一個問題的延續。我試圖合併2個子例程,以便創建的文本文件在最後刪除了空格。看下面的代碼我得到一個路徑文件錯誤就行 - 打開文件輸入爲#1路徑/文件訪問錯誤運行時75 - VBA

調試後,我可以看到存儲在strFile中的文件名在第二個例程被調用時消失。任何人都可以看到我的錯誤是爲什麼它這樣做,並幫助我修復它嗎? AltText_V2是第二個例程。我已經更新了代碼,只是包含問題所在的部分

Option Explicit 

    Public Sub AltText_V2() 
    Dim inFile As String 
    Dim outFile As String 
    Dim data As String 
    Dim strFile As String 

    'Ensures that the file open directory is always the same 
    ChDir "S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\" 

'inFile = Application.GetOpenFilename 
    inFile = strFile 
    Open inFile For Input As #1 

    outFile = inFile & ".txt" 
    Open outFile For Output As #2 

    Do Until EOF(1) 
    Line Input #1, data 

    If Trim(data) <> "" Then 
    Print #2, data 
    End If 
    Loop 

    Close #1 
    Close #2 

    Kill inFile 
    Name outFile As inFile 

    MsgBox "File alteration completed!" 
    End Sub 
+0

請閱讀此:https://stackoverflow.com/help/mcve - 並考慮減少問題中的代碼量以解決您正在處理的問題。 –

+0

@Robin Mackenzie,我已經更新了代碼,我希望它現在在指南中更好一點 – Dyhouse

+0

這更具可讀性 - 我注意到您沒有爲'strFile'賦值 - 你是否缺少像'strFile =「YourFile.foo」'? –

回答

0

我實際上已經完成了它。我只是在子例程之外聲明瞭變量,它工作得很好,所以它看起來像這樣。

Option Explicit 
Dim strFile As String 

Public Sub OneRoutine()