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

巴斯光年

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

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

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

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

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

编码器375

好的,这可能对您有用,该函数采用路径并在文件夹中返回文件名数组。您可以使用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

如果我们可以按索引号访问files对象中的文件,那会很好,但是由于某种原因,它似乎在VBA中已损坏(错误?)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Java Resources文件夹中的文件夹获取所有文件的列表

获取文档文件夹中的文件列表

如何使用R从github存储库文件夹中获取列表文件

如何使用Node.js获取Google Cloud Storage文件夹中的文件列表?

Excel VBA从文件夹中的文件更新主列表

以预定顺序获取文件夹中的文件列表

如何使用php,codeigniter从文件夹中仅获取.txt格式文件列表

获取特定Netsuite文件夹中的文件列表

使用Powershell获取包含vb文件的文件夹列表

Excel VBA忽略目录中的特定文件夹/文件

无法从文件夹VBA中获取xls文件

VBA-将文件夹列表导入Excel范围

获取SD卡中的文件夹和文件列表

从文件夹及其子文件夹中获取损坏文件的列表

使用VBA和Excel从文件夹中的文件收集数据

删除文件夹VBA中的非Excel文件

使用Excel VBA获取文件夹/目录中的文件名列表

从资产文件夹获取文件夹列表

获取特定子文件夹中的文件列表

获取公共Dropbox文件夹中的文件和文件夹列表并下载文件

删除文件,然后在Excel 2010 VBA中的文件夹

如何使用Javascript获取客户端文件夹中的文件列表?

如何使用VBA在Excel电子表格中的列表中打开文件夹

Excel VBA 在文件夹中找不到 xlsx 文件

使用excel VBA将文件自动分类到文件夹中

使用excel vba合并文件夹中的所有pdf文件

从文件夹和子文件夹中获取文件列表 Excel VBA

获取文件夹和子文件夹中的列表文件

如何遍历文件夹A的子文件夹以获取每个子文件夹中的文件名并使用VBA从文件夹B复制其他同名文件