相关疑难解决方法(0)

使用VBA循环遍历所有子文件夹

我正在寻找一个VBA脚本,它将循环遍历指定文件夹的所有子文件夹.当我说所有子文件夹时,我指的是指定文件夹中的每个文件夹,以及其中的每个文件夹,以及其中的每个文件夹...理论上可能存在无限的嵌套子文件夹,但实际上它可能不会超过3或4.我使用VBA脚本运行的对象,所以,一旦我循环到该文件夹​​,我可以检查一些文件的属性(但我知道如何做到这一点的一部分).

谢谢您的帮助!

这个问题与包含已知目录的先前问题中列出的"类似"问题不同,而这里需要找到已知和未知的目录.还需要多层子目录.你们真的应该在解开"重复"之前阅读这个问题.

vba filesystemobject

28
推荐指数
2
解决办法
15万
查看次数

获取VBA中的子目录列表

  • 我想获得目录中所有子目录的列表.
  • 如果可行,我想将其扩展为递归函数.

然而,我最初获得子目录的方法失败了.它只显示包括文件在内的一切:

sDir = Dir(sPath, vbDirectory)
Do Until LenB(sDir) = 0
    Debug.Print sDir
    sDir = Dir
Loop
Run Code Online (Sandbox Code Playgroud)

该列表以".."和几个文件夹开头,以".txt"文件结尾.


编辑:
我应该补充说,这必须在Word中运行,而不是Excel(许多功能在Word中不可用),它是Office 2010.


编辑2:

可以使用确定结果的类型

iAtt = GetAttr(sPath & sDir)
If CBool(iAtt And vbDirectory) Then
   ...
End If 
Run Code Online (Sandbox Code Playgroud)

但这给了我新的问题,所以我现在正在使用基于的代码Scripting.FileSystemObject.

recursion vba ms-word ms-office word-vba

20
推荐指数
3
解决办法
4万
查看次数

使用VBA获取文件夹中的Excel文件列表

我需要获取文件夹中所有Excel文件的名称,然后对每个文件进行更改.我已经解决了"改变"部分.有没有办法.xlsx在一个文件夹中获取文件列表,D:\Personal并将其存储在字符串数组中.

然后我需要遍历文件列表并在我认为可以使用的每个文件上运行一个宏:

Filepath = "D:\Personal\"
For Each i in FileArray
    Workbooks.Open(Filepath+i)
Next
Run Code Online (Sandbox Code Playgroud)

我一看这个,但是,我没能打开这些文件的原因,而是存储在名称Variant格式.

简而言之,我如何使用VBA获取特定文件夹中的Excel文件名列表?

excel vba excel-vba excel-2010

18
推荐指数
3
解决办法
16万
查看次数