在不使用循环的情况下确定文件夹中特定类型的文件

时间:2011-04-05 06:51:16

标签: vba excel-vba excel

有没有办法在VBA中使用FileSystemObject来确定文件夹中特定类型的文件数,例如.PDF,而不使用循环,例如

For Each file In folder.Files
    'Check file type and count
Next

2 个答案:

答案 0 :(得分:2)

您可以在没有FSO依赖关系的情况下执行此操作,同时也无需手动检查文件扩展名;

dim file as String, countOf As Long
file = Dir$("c:\xxxxxx\*.pdf")
Do until file = ""
    countOf = (countOf + 1)
    file = Dir$()
Loop

MsgBox countOf

答案 1 :(得分:0)

对于Excel,您需要使用循环。循环真的不会花那么长时间,但是,如果由于某种原因你的厌恶循环而且你必须有一个衬垫,那么批量是要走的路。

我没有对它进行测试,但是在目录中创建一个文本文件,将其命名为whatever.bat,右键单击该文件并选择编辑(或使用notepad ++编辑)。然后插入以下代码:

set /a counter = 0
for /f %%f in (*.pdf) do set /a count += 1

echo counter: %counter%
pause

保存文件,然后双击打开并运行该程序。