当前位置:首页Excel教程 > 正文

excel提取文件夹所有文件名

作者:野牛程序员:2023-07-31 12:33:55Excel教程阅读 3050

在Excel中提取文件夹中的所有文件名需要使用VBA(Visual Basic for Applications)宏来实现。以下是一个简单的VBA宏,可以帮助提取文件夹中的所有文件名并将它们列在Excel工作表中。

  1. 打开Excel,并按下Alt + F11打开Visual Basic for Applications (VBA) 编辑器。

  2. 在VBA编辑器中,点击插入(Insert),然后选择模块(Module),这将创建一个新的模块。

  3. 在新的模块中,粘贴下面的VBA代码:

Sub ExtractFileNames()
    Dim folderPath As String
    Dim fileName As String
    Dim rowIndex As Long
    
    ' 修改为你的文件夹路径
    folderPath = "C:\\YourFolderPath\\"
    
    ' 定义工作表
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") ' 将"Sheet1"替换为你的工作表名
    
    ' 初始化行索引
    rowIndex = 1
    
    ' 检查文件夹路径是否存在
    If Len(Dir(folderPath, vbDirectory)) = 0 Then
        MsgBox "文件夹路径不存在!", vbExclamation
        Exit Sub
    End If
    
    ' 开始提取文件名
    fileName = Dir(folderPath & "*.*")
    Do While fileName <> ""
        ' 排除当前目录(.)和上一级目录(..)
        If fileName <> "." And fileName <> ".." Then
            ' 将文件名写入工作表中
            ws.Cells(rowIndex, 1).Value = fileName
            rowIndex = rowIndex + 1
        End If
        ' 继续下一个文件
        fileName = Dir
    Loop
    
    MsgBox "文件名提取完成!", vbInformation
End Sub
  1. 修改folderPath的值为你要提取文件名的文件夹路径。确保路径以反斜杠 \\ 结尾。

  2. 修改Set ws = ThisWorkbook.Sheets("Sheet1") 一行中的 "Sheet1" 为想要提取文件名的工作表名称。

  3. 关闭VBA编辑器(按Ctrl + S保存如果需要)。

  4. 在Excel工作表中按下Alt + F8打开宏窗口,选择ExtractFileNames宏并点击运行。

这个VBA宏将会遍历指定文件夹中的所有文件,并将文件名逐行列在指定的工作表中。请注意,这个宏将提取文件夹中的所有文件名,包括文件夹本身(.)和上一级目录(..)的文件名,这两个文件名将会被排除在结果之外。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击