是否有任何方法可以使用VBA中的FileSystemObject來確定文件夾中特定類型(例如.PDF)的文件數量,而不使用循環在不使用循環的情況下確定文件夾中特定類型的文件
For Each file In folder.Files
'Check file type and count
Next
是否有任何方法可以使用VBA中的FileSystemObject來確定文件夾中特定類型(例如.PDF)的文件數量,而不使用循環在不使用循環的情況下確定文件夾中特定類型的文件
For Each file In folder.Files
'Check file type and count
Next
您可以在不依賴FSO的情況下執行此操作,同時也無需手動檢查文件擴展名;
dim file as String, countOf As Long
file = Dir$("c:\xxxxxx\*.pdf")
Do until file = ""
countOf = (countOf + 1)
file = Dir$()
Loop
MsgBox countOf
這是一個有趣的方法亞歷克斯。但是您仍然在使用循環來計算文件,儘管您避免了與條件不匹配的文件。 – strcompnice 2011-04-06 08:31:54
這似乎是最好的方法,因爲它比使用FileSystemObject還快。 – strcompnice 2011-04-12 12:11:01
對於Excel,您需要使用循環。循環真的不會需要那麼長時間,但是,如果由於某種原因你的厭惡循環,你必須有一個班輪,然後批量是要走的路。
我沒有測試它,但在目錄中創建一個文本文件,稱之爲whatever.bat
,右鍵單擊該文件並選擇編輯(或使用記事本++編輯)。然後插入以下代碼:
set /a counter = 0
for /f %%f in (*.pdf) do set /a count += 1
echo counter: %counter%
pause
保存該文件,然後雙擊打開並運行該程序。
即使有一個庫去做,它也無法忽視每一個文件。我不認爲有更快的方法來做到這一點。 – bdares 2011-04-05 06:54:39
循環有什麼問題?如果這是你經常做的事情,請將其粘貼在用戶定義的功能中。 – 2011-04-05 07:05:51
謝謝bdares和Jean-Francois提供有用的意見。所以一個循環似乎是要走的路。 – strcompnice 2011-04-06 08:27:33