VBA的全能性在于其能够超越单个工作表或工作簿的限制,通过Excel作为平台,实现文件间的操作。就像建造大楼需要稳固的基础一样,此次的重点在于熟悉文件路径和文件名的遍历技巧。从当前目录的文件遍历开始,虽然简单,但面对嵌套的文件结构,需要更复杂的方法。这里将逐一介绍几种遍历策略。
首先,使用dir函数遍历目录下的文件。基本用法是首次指定文件夹路径后,后续调用会依次返回该目录下的下一个文件名,就像Python中的迭代器。dir遍历完所有文件名后,返回空字符串,再次调用会报错。若指定具体文件路径,dir会返回文件名,不存在则为空。
dir功能有局限性,这时引入filesystemobject(fso)辅助。fso常用于处理dir无法显示的文件夹信息。具体实现时,需要结合基础部分,对文件夹路径进行处理,并在循环中更新文件名。
接下来,是具体操作的步骤。首先,确认文件夹路径,例如ThisWorkbook.Path加上反斜杠。然后,使用Range的End函数获取最后一行,并在每次循环中更新行数。循环中,dir返回的文件名将被赋值给变量。
对于指定后缀的文件遍历,仅需对上述代码稍作修改,引入后缀通配符。对于多层嵌套文件夹,通过函数的嵌套实现递归遍历,将遍历当前目录和子目录的函数组合,形成一个递归调用自身的新函数,处理多级结构。
这次学习中,我们深入理解了dir和fso对象的使用,同时锻炼了嵌套循环的思维。为了方便,代码中还添加了文件链接,点击即可查看文件内容。这份代码适用于实际操作,十分实用。
温馨提示:答案为网友推荐,仅供参考