首页 > 解决方案 > 如何通过比较文件名只打开特定的excel文件?

问题描述

我目前正在从事一个项目,该项目需要我从给定目录中的数百个电子表格中编译数据。我的问题是我不确定如何处理文件的不同子版本。例如文件被命名为:

对于上述文件,我只需要从 1c 和 2b 读取。有没有确定需要读取哪些文件的好方法,或者至少有人可以指出我可以研究的方向?我最初的想法是遍历文件名中的字符并检查数字后面的最大字母,但这似乎很难正确编码。

提前致谢!

标签: excelvba

解决方案


您可以将需要匹配的部分文件名列表存储在数组中。然后遍历数组中的部分名称和 foreach 部分名称,遍历目录以查找匹配项。VBA 提供了InStr可用于测试文件名是否包含数组中的部分名称的函数。

在伪代码中:

myArray = [ 1c, 2b]

ForEach partialName in myArray 
  ForEach file in myDirectory
    If InStr(fileName, partialName) Then
      // Do something interesting
    End If
  Next file
Next partialName

推荐阅读