我做了一个程序来列出excel表中'fld'文件夹中文件的路径,但我不知道如何每次搜索最后一行并使用列出文件的功能完成它。 然后添加新文件并保持较旧。 这是vba:
C:\Users\fld\file1
C:\Users\fld\file2
C:\Users\fld\file3
excel表是:
x(d.service)
此程序每次都重复自己,并重写excel表上的路径。否则,我想只搜索最后一行并写入刚刚添加的路径文件夹。
例如,如果我添加C:\ Users \ fld \ file4,它将自动添加到单元格的末尾。
答案 0 :(得分:1)
无需循环即可快速完成此操作:
Sub ListFiles()
Dim files As Variant
files = Filter(Split(CreateObject("WScript.Shell").Exec("CMD /C DIR ""C:\Users\fld\*.*"" /S /B /A:-D").StdOut.ReadAll, vbCrLf), vbCrLf), ".")
Range("A2").Resize(UBound(files) + 1).Value = WorksheetFunction.Transpose(files)
End Sub
您可能会看到一个命令提示符(黑匣子)显示几秒钟,这是正常的。它使用CMD.exe中的DIR命令从所有子文件夹获取文件列表,将输出解析为数组,然后将数组直接转换到工作表中。