gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:18:25 24 4
gpt4 key购买 nike

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

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

Filepath = "D:\Personal\"
For Each i in FileArray
Workbooks.Open(Filepath+i)
Next

我查看了this ,但是,我无法打开这些文件,因为它将名称存储在 Variant 中。格式。

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

最佳答案

好吧,这可能对您有用,该函数采用路径并返回文件夹中的文件名数组。您可以使用 if 语句在循环数组时仅获取 excel 文件。

Function listfiles(ByVal sPath As String)

Dim vaArray As Variant
Dim i As Integer
Dim oFile As Object
Dim oFSO As Object
Dim oFolder As Object
Dim oFiles As Object

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sPath)
Set oFiles = oFolder.Files

If oFiles.Count = 0 Then Exit Function

ReDim vaArray(1 To oFiles.Count)
i = 1
For Each oFile In oFiles
vaArray(i) = oFile.Name
i = i + 1
Next

listfiles = vaArray

End Function

如果我们可以通过索引号访问文件对象中的文件,那就太好了,但无论出于何种原因,这似乎在 VBA 中被破坏了(bug?)。

关于vba - 使用 VBA 获取文件夹中的 Excel 文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31414106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com