台灣最大程式設計社群網站
線上人數
792
 
會員總數:244534
討論主題:188695
歡迎您免費加入會員
討論區列表 >> office VBA / WinOS >> 請問一下用excel vba 讀取檔案名稱的程式
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問一下用excel vba 讀取檔案名稱的程式
價值 : 50 QP  點閱數:533 回應數:2

樓主

小粽子
門外漢
0 4
121 7
發送站內信

請問一下各位大神:以下是一段用excel vba 讀取檔案名稱的程式,程式的最後,fileName = Dir這一段要怎麼理解?(小弟試了一下,拿掉這一段會出現無限次寫入檔名,但是還是不了解為什麼加入這一段,就可以只寫入一次檔名,請幫我解惑,謝謝!)


Sub getFileName()
fileName = Dir(ThisWorkbook.Path & "\" & "*.txt")
Do Until fileName = ""
r = r + 1
Cells(r, 1) = fileName
fileName = Dir
Loop
End Sub

搜尋相關Tags的文章: [ excel vba ] , [ 檔名 ] , [ 讀取檔名 ] , [ 檔案名稱 ] ,
本篇文章發表於2019-01-23 10:02
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

yi
檢舉此回應
我只是將說明文件貼出來,看範例如下:
' 將「C:\」根目錄下的子目錄顯示出。
MyPath = "c:\" ' 指定路徑。
MyName = Dir(MyPath, vbDirectory) ' 找尋第一個子目錄。
Do While MyName <> "" ' 執行迴圈。
' 跳過目前的目錄及上層目錄。
If MyName <> "." And MyName <> ".." Then
' 使用位元比對來確定 MyName 代表一目錄。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' 將目錄名稱顯示出來。
End If
End If
MyName = Dir ' 尋找下一個目錄。
Loop

每call 一次dir 都會換下一個資料夾(上例) 或檔案
本篇文章回覆於2019-01-23 11:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

yi
檢舉此回應
所以少了dir Fileaname 就不會變,永遠不等於"" 而造成死循環
本篇文章回覆於2019-01-23 11:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.