返回Excel催化剂目录

产品文档 / Excel催化剂

第41波-文件文件夹相关函数

对于日常办公过程中,每天面对的操作离不开文件、文件夹的操作,当然可以用资源管理器、Everything之类的管理软件来管理。 但涉及到批量操作时,在Excel环境或许是个更好的方式,前面很多的内容中不断地有使用过部分的文件、文件夹的函数,今天系统给大家介绍下在Excel催化剂里所开发出的文件、文件夹

对于日常办公过程中,每天面对的操作离不开文件、文件夹的操作,当然可以用资源管理器、Everything之类的管理软件来管理。

但涉及到批量操作时,在Excel环境或许是个更好的方式,前面很多的内容中不断地有使用过部分的文件、文件夹的函数,今天系统给大家介绍下在Excel催化剂里所开发出的文件、文件夹相关的函数。

背景介绍

在前面的第16波中,其实已经有大量的关于文件、文件夹的批量操作,如批量创建、移动、复制、重命名文件、文件夹等操作。这其中大部分操作需要获取原有文件的路径信息这一步前提条件。

同样地在第22波工作薄类型转换,第24波批量发邮件功能中,发送附件时,也要用到文件路径。

当然除了获取文件路径外,此次再次作了系统梳理,扩展更多的功能,并且以自定义函数的方式返回结果,方便在文件、文件夹变动后可及时性地得到更新。

具体函数介绍

这一系列的函数传入的参数都较为简单,除了获取所有文件GetFiles和获取所有文件夹GetSubFolders这两个函数需要传入较多的参数来满足复杂的筛选或遍历子文件夹等需要,其他的函数都是1个或2个参数即可。

内容插图

GetFiles函数

一般来说是返回多个值的,即一个文件夹内有多个文件路径。一般来说传入第1个顶层文件夹路径即可。其他参数可应对不同的需要。

其他函数参数说明如下:

  • containsText:查找的文件名中是否需要包含指定字符串,不传参数默认为返回所有文件,可传入复杂的正则表达式匹配
  • isSearchAllDirectory 是否查找顶层目录下的文件夹的所有子文件夹,TRUE和非0的字符或数字为搜索子文件夹,其他为否,不传参数时默认为否
  • optAlignHorL 返回的结果是按按列排列还是按行排列,传入L按列排列,传入H按行排列,不传参数或传入非L或H则默认按列排列

内容插图

GetSubFolders函数

用法几乎和GetFiles一样,只是containsText查找时,可以查找任一层文件夹包含正则pattern匹配项即可。而GetFiles的containsText仅对文件名作匹配。

GetDirectoryName函数

获取上一级的文件夹全路径。

内容插图

GetFolderByDepth函数

获取指定目录下的不同层级的文件夹名称

内容插图

GetFileOrDirAttributes函数

获取文件或文件夹属性

内容插图

IsFileOrDirExist函数

判断传入的文件或文件夹路径是否是真实存在

内容插图

GetFileSize函数

获取文件大小,单位KB

内容插图

GetFileOrDirCreateTime函数

获取文件或文件夹创建时间

内容插图

GetFileOrDirModifyTime函数

获取文件或文件夹最后修改时间

内容插图

GetFileName函数

内容插图

GetFileNameWithoutExtension函数

内容插图

GetFileExtension函数

内容插图

PathCombine函数

用于合并多段文件夹或文件名使用,无需处理多段名称的后面是否有结束符****

如果是最后一个是文件的路径,需要带上文件后缀名,单纯的文件后缀不能作为最后的参数传入,否则不是完整的路径或是错误的方式组合。

内容插图

总结

使用本篇的文件、文件夹函数,可以轻松获得文件、文件夹路径,并对获得之后的路径作字符串处理,较一般的方式进行字符串处理来得高效,同时也提供了获取文件、文件夹的一些属性信息如文件大小、创建、修改日期等,大大地方便了对文件、文件夹信息的获取及后续的对不同数据的筛选排序等操作。此篇的函数实现,个人觉得还是很能提升日常工作效率的,很值得推荐使用。