Skip to content

获取文件夹下所有文件

函数名:f_获取文件列表 / f_GetList

功能描述

获取指定文件夹下的所有文件列表,支持递归子目录搜索及文件类型筛选。返回文件完整路径的二维数组,可直接溢出到 Excel 单元格区域。

会员等级:🟢 免费版(Free)

语法

excel
=f_获取文件列表(文件夹路径, [包含子文件夹], [文件类型])

参数

参数名类型必填默认值说明
文件夹路径String要搜索的目录路径
[包含子文件夹]BooleanTRUE是否包含子文件夹,TRUE=递归搜索子目录,FALSE=仅搜索当前目录
[文件类型]String*.*扩展名过滤,如 *.txt*.xlsx,支持多类型用 | 分隔,如 *.txt|*.xlsx

返回值

Object[,] - 二维数组(N行1列),每行为一个文件的完整路径。目录不存在时返回含错误信息的 1x1 数组。

使用示例

获取目录下所有文件(含子目录)

公式

excel
=f_获取文件列表("D:\Reports")

结果

D:\Reports\2025\Q1.xlsx
D:\Reports\2025\Q2.xlsx
D:\Reports\summary.docx

筛选指定类型文件

公式

excel
=f_获取文件列表("D:\Reports", TRUE, "*.txt|*.xlsx")

结果

D:\Reports\notes.txt
D:\Reports\2025\Q1.xlsx
D:\Reports\2025\Q2.xlsx

仅搜索当前目录(不含子目录)

公式

excel
=f_获取文件列表("D:\Reports", FALSE)

结果

D:\Reports\summary.docx
D:\Reports\notes.txt

技术说明

  • 调用 Directory.GetFiles 获取文件列表,通过 SearchOption 参数控制是否递归子目录。
  • 支持多扩展名联合筛选:将 [文件类型] 参数按 | 分隔为多个模式,分别查询后合并结果。
  • 返回二维数组(N行1列),适配 Excel 动态数组溢出功能。

错误处理

错误场景返回值
目录不存在错误:目录不存在
其他异常错误: {异常信息}
无匹配文件空数组

基于源代码最新版本文档