| 除非注明,文章均為 戰(zhàn)戰(zhàn)如瘋 原創(chuàng),轉(zhuǎn)載請(qǐng)保留鏈接: http://www./cat1/81.html,VBA交流群273624828。 今天介紹利用Excel VBA的Dir方法來遍歷某文件夾下的所有excel文件。還是直接來看例子,假設(shè)在D盤有一個(gè)叫工作日志的文件夾,里面放著每日的工作記錄,都是excel 2007表格,現(xiàn)在由于工作需要要從這里表格中提取數(shù)據(jù),那就需要依次對(duì)每個(gè)Excel表格進(jìn)行訪問。只要知道了工作表的名稱,我們就可以用workbook的Open方法或者GetObject方法從工作簿中獲得數(shù)據(jù),而Dir函數(shù)正是起到這個(gè)作用。Dir函數(shù)會(huì)按固定的順序依次訪問文件夾下的文件,并返回相應(yīng)文件的名稱,當(dāng)全部都訪問完時(shí)就會(huì)返回空值,因此返回值是不是空值可以做為判斷Dir函數(shù)是否遍歷完整個(gè)文件夾的依據(jù)。 看下面的代碼 
 在Dir函數(shù)的路徑當(dāng)中是可以使用通配符的,在這里*代表任意個(gè)字符,那么*.xlsx就代表后綴名為xlsx的Excel 2007文件,對(duì)應(yīng)的你的Excel如果是2003版的,那就應(yīng)該是*.xls,如果你要遍歷的文件中兩個(gè)版本的都包括,那可以表示為*.xls*。Dir函數(shù)一次只能返回一個(gè)值 ,所以要遍歷所有的文件就要不斷的調(diào)用Dir函數(shù),但是第二次調(diào)用的時(shí)候就不必寫參數(shù)了, myfile = Dir 就會(huì)默認(rèn)的去尋找下一個(gè)符合條件的文件。Debug.Print myfile是將變量值顯示在立即窗口的意思,這句就可以換成你自己的操作代碼,比如在之前講到的“多個(gè)Excel工作簿中的數(shù)據(jù)匯總到一個(gè)Excel中(1)”就是對(duì)工作簿進(jìn)行了Open操作。 
 | 
|  |