【发布时间】:2019-06-03 13:13:04
【问题描述】:
我正在尝试遍历特定驱动器中的一堆 .xlsx 文件,以使任何文件都符合以下格式:
H:\[*FOLDER NAME*]\SpecificFolder\Finalized Plans\2019 Prefix[*].xlsx
换句话说,在 H 盘上的文件夹内,子文件夹 \SpecificFolder\Finalized Plans\ 包含以文字短语 "2019 Prefix" 开头的 .xlsx 文件。例如
H:\Widget\SpecificFolder\Finalized Plans\2019 Prefix Howdyado Neighbor.xlsx
或
H:\Rofl672\SpecificFolder\Finalized Plans\2019 Prefix Bob.xlsx
这是我可以使用Dir() 以某种方式迭代的东西吗?其他方式?
是不是类似于Dir("H:\*\SpecificFolder\Finalized Plans\2019 Prefix*.xlsx")? (这是我尝试过的,它给了我错误“错误的文件名或编号”,所以它可能不是正确的语法)
【问题讨论】:
-
@BigBen 有多个这样的文件夹可能包含 `\SpecificFolder\Finalized Plans` 等,这些文件夹名称之间不一定有任何相似之处,可以是任何东西。
-
尝试使用
FileSystemObject,特别是FolderExists 方法。 docs.microsoft.com/en-us/office/vba/language/reference/…。或者,尝试获取所有子文件夹中的所有文件,例如递归目录。然后在获得完整列表后应用您想要的文件的逻辑。 -
@RyanWildry 我不明白这是如何解决这个特定问题的?我不一定要提前知道文件夹名称来检查它们是否存在,我正在尝试遍历所有具有该模式的文件。
-
查看我的其他评论,获取所有文件,然后应用您的模式。
标签: excel vba file filesystems directory