vba中dir函數用法


1. 在VBA中,dir函數可以返回一個文件夾下一個文件的名字(包含后綴)。

示例代碼:

filename = Dir("F:\userdata\Desktop\新建文件夾\")

dir后面的參數應該以反斜杠“\”結尾,這樣才能返回該文件夾下的文件名稱。否則“新建文件夾”會被當成一個文件名進行處理。

Dir運行一次只能得到一個文件名。為得到下一個文件名,代碼應該這樣寫:filename = Dir。

Dir后面不寫任何參數,如果寫了與前面相同的參數"F:\userdata\Desktop\新建文件夾\",則會重新掃描該文件夾,又得到第一個文件名,如果更改為其他文件夾,就掃描該文件夾,得到它的第一個文件名

如果文件夾中有n個文件,或者說有n個符合條件的文件,那么當Dir運行第n+1次時,則返回一個空字符串,代表已經查找完所有的文件。Dir運行第n+2次時,程序將報錯。

2. 掃描一個文件夾下所有文件的通用模板

Dim filename as string

filename = Dir("F:\userdata\Desktop\新建文件夾\") '可以更改為任意文件夾

Do while filename <> ""

相關操作

filename = Dir '獲取下一個文件名

Loop

3. Dir掃描符合條件的文件名(通配符*)

示例代碼:

F = Dir("F:\userdata\Desktop\新建文件夾\*.xls"),掃描所有后綴為.xls的文件。

4. 判斷一個文件是否存在

示例代碼:

F = Dir("F:\userdata\Desktop\新建文件夾\123.xls")

如果文件123.xls存在,則返回字符串123.xls,如果不存在,則返回空字符串。

5. 掃描文件和子文件夾名稱

一般情況下,Dir函數只返回文件名,而不返回子文件夾名。如果想要兩者都返回,則需要加上vbDirectory參數。示例代碼如下:

F = Dir("F:\userdata\Desktop\新建文件夾\" , vbDirectory)

特別要注意的是,子文件夾包括“.”和“..”兩個特殊名字,分別代表本目錄F:\userdata\Desktop\新建文件夾\及其父目錄F:\userdata\Desktop\。

Dir函數只能返回第一層的子文件夾和文件名,子文件夾下的文件與文件夾不返回。

轉載地址:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM