2016-08-23 124 views
-1

有人可以幫我解決以下問題嗎?我試圖自己做,但我所能做的只是打開一個txt文件,並用靜態詞替換靜態詞。VBA:從txt替換每行文本並保存爲

VBA腳本:

打開並閱讀ThisVbaPath.WordsToUse.txt

開放的第一線和ThisVbaPath.BaseDoc.docx(或TXT)

查找USER_INPUT替換爲USER_INPUT的所有發生從WordsToUse.txt

保存BaseDoc.docx第一線BaseDoc & First_Line.docx

關閉所有

轉到下一行,做相同的,但不要求用戶輸入,使用前一個

如果未來

錯誤去當做節目,如果有任何錯誤(不太可能我猜)

我會用它每週約150伊線。

謝謝!

+0

嗨歡迎堆棧溢出....你已經寫了任何代碼到目前 – HA560

回答

-1
Sub TextFile_FindReplace() 
Dim TextFile As Integer 
Dim FilePath As String 
Dim FileContent As String 

FilePath = Application.ActiveWorkbook.Path & "\NEWTEST.txt" 
TextFile = FreeFile 
Open FilePath For Input As TextFile 
FileContent = Input(LOF(TextFile), TextFile) 


FileContent = Replace(FileContent, "FOO", "BAR") 


Print #TextFile, FileContent 
Close TextFile 
End Sub 
+0

這基本上打破了OP的工作代碼。 – Comintern

0

我覺得像這樣的東西應該工作?

Sub test() 

    Dim text, textReplace, findMe As String 

    findMe = InputBox("What Text To Find?") 
    Open "C:\Excel Scripts\test.txt" For Input As #1 
    Open "C:\Excel Scripts\test2.txt" For Input As #2 
    Open "C:\Excel Scripts\output.txt" For Output As #3 

    While Not EOF(1) 
    Line Input #1, text 
     While Not EOF(2) 
     Line Input #2, textReplace 
     Write #3, Replace(text, findMe, textReplace) 
     Wend 
    Wend 

    Close #1 
    Close #2 
    Close #3 


End Sub