學(xué)習自楊洋老師《全民一起VBA》
示例代碼:
filename = Dir("F:userdataDesktop新建文件夾")
dir后面的參數(shù)應(yīng)該以反斜杠“”結(jié)尾,這樣才能返回該文件夾下的文件名稱。否則“新建文件夾”會被當成一個文件名進行處理。
Dir運行一次只能得到一個文件名。為得到下一個文件名,代碼應(yīng)該這樣寫:filename = Dir。
Dir后面不寫任何參數(shù),如果寫了與前面相同的參數(shù)"F:userdataDesktop新建文件夾",則會重新掃描該文件夾,又得到第一個文件名,如果更改為其他文件夾,就掃描該文件夾,得到它的第一個文件名
如果文件夾中有n個文件,或者說有n個符合條件的文件,那么當Dir運行第n+1次時,則返回一個空字符串,代表已經(jīng)查找完所有的文件。Dir運行第n+2次時,程序?qū)箦e。
示例代碼:
F = Dir("F:userdataDesktop新建文件夾*.xls"),掃描所有后綴為.xls的文件。
示例代碼:
F = Dir("F:userdataDesktop新建文件夾123.xls")
如果文件123.xls存在,則返回字符串123.xls,如果不存在,則返回空字符串。
一般情況下,Dir函數(shù)只返回文件名,而不返回子文件夾名。如果想要兩者都返回,則需要加上vbDirectory參數(shù)。示例代碼如下:
F = Dir("F:userdataDesktop新建文件夾" , vbDirectory)
特別要注意的是,子文件夾包括“.”和“..”兩個特殊名字,分別代表本目錄F:userdataDesktop新建文件夾及其父目錄F:userdataDesktop。
Dir函數(shù)只能返回第一層的子文件夾和文件名,子文件夾下的文件與文件夾不返回。