看板 Visual_Basic 關於我們 聯絡資訊
請幫我看看程式碼 如果我有違反版規,請幫我刪除 以下是兩個程序的程式碼 主要目的是要搜尋相同資料夾中的txt檔 搜尋出 C 24 後面的字串 同時輸出檔名 C 24 後面的字串Print在 Cell(1,A) 檔名Print在 Cell(1,B) 接著讀取第二個txt檔 C 24 後面的字串Print在 Cell(2,A) 檔名Print在 Cell(2,B) 不知道為什麼 他會一直Print在 Cell(1,A) 跟 Cell(1,B) 可能我一時迷失 搞了一天了 拜託各位 T_T - - - - - - - - - - - - - - - - - - - - - - - - - Sub ReadtxtFiles() Dim lRow As Long Dim FSO As Object Dim FL As Object Dim Fle As Object rpath = ThisWorkbook.Path & "\" Set FSO = CreateObject("Scripting.FileSystemObject") Set Fdr = FSO.GetFolder(rpath) Set Fle = Fdr.Files For Each FL In Fle If UCase(FL.Name) Like "*.TXT" Then ProcessFile FL Next Set FSO = Nothing lRow = 0 End Sub Sub ProcessFile(FL) Dim Fot As Object Dim FRL As String Set FSO = CreateObject("Scripting.FileSystemObject") Set Fot = FSO.OpenTextFile(FL, 1, False) Do Until Fot.AtEndOfStream FRL = Fot.ReadLine If FRL Like "C 24 *" Then lRow = lRow + 1 Cells(lRow, "A") = FRL Cells(lRow, "B") = Dir(FL) End If Loop Fot.Close Set Fot = Nothing End Sub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- http://www.wretch.cc/user/antemw 關鍵字:男的 XD 魚說:你看不見我的淚水 因為我在水中.... 水說:我能感覺到妳的淚 只因妳在我的心中... 魚需要水才能生存 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.184.37 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1415615632.A.5C2.html antemw:轉錄至看板 Office 11/11 10:37
Yaiba: 我看過了 因為你子程式沒有用全域變數 12/28 01:50
Yaiba: lRow沒宣告 故初始值一直都是0 然後都會被加1 12/28 01:51
Yaiba: 所以每個檔案都是以第一行為起點 12/28 01:51
Yaiba: 每個Sub 的變數是不可以共用的 12/28 01:54
Yaiba: 故你宣告在ReadtxtFiles 但ProcessFile用的是自己的 12/28 01:54
Yaiba: 要宣告在Sub外面 12/28 01:55