乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>怎样用<em>vba</em>自动提取文件夹

<em>excel</em>怎样用<em>vba</em>自动提取文件夹

作者:乔山办公网日期:

返回目录:excel表格制作


使用excel提取文件夹中的所有文件名称的方法主要有以下两个:
1、在那个文件夹内新建一个.TXT文件(如wenjian.txt),用记事本单开输入
dir> 1.txt
保存退出
将刚才的.TXT(wenjian.txt)更名为.bat文件(wenjian.bat)
双击wenjian.bat文件运行一次,在文件夹内多出一个1.txt文件
打开1.txt文件,将其中的内容粘贴到Excel中,数据——分列处理就可以得到你要的文e799bee5baa6e997aee7ad94e4b893e5b19e338件名列表了!
2、VBA(2003版)
在那个文件夹下新建Excel文件,打开新建的Excel文件,右击工作表标签(如Sheet1),查看代码——在代码编辑器中输入以下代码
Sub Test()
Dim i As Integer
Dim strPath As String
strPath = ThisWorkbook.Path
With Application.FileSearch
.LookIn = strPath
.SearchSubFolders = True
.Filename = "*.*"
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Range("A" & i) = .FoundFiles(i)
Next i
End If
End With
End Sub
回到Excel表格中,工具——宏——宏——选择Sheet1.Test——执行

方法一简单的操作就可以,方法二需要对程序有一定的了解,方法二通用性比较强,需要的时候执行一下就可以,更快捷。

excel中用vba实现自动提取文件夹内的文件名的方法如下:

1、新建一个vba宏脚e69da5e887aa7a686964616f339

2、写入如下代码:

Function GetFileList(FileSpec As String) As Variant

'   Returns an array of filenames that match FileSpec

'   If no matching files are found, it returns False


    Dim FileArray() As Variant

    Dim FileCount As Integer

    Dim FileName As String

    

    On Error GoTo NoFilesFound


    FileCount = 0

    FileName = Dir(FileSpec)

    If FileName = "" Then GoTo NoFilesFound

'   Loop until no more matching files are found

    Do While FileName <> ""

        FileCount = FileCount + 1

        ReDim Preserve FileArray(1 To FileCount)

        FileArray(FileCount) = FileName

        FileName = Dir()

    Loop

    GetFileList = FileArray

    Exit Function

'   Error handler

NoFilesFound:

    GetFileList = False

End Function

3、传入文件路径就可以获取文件名到指定的excel表格中

4、结果:


1、首先利用快捷键“Windows键+R”打开“运行”窗口

2、接着输入“cmd”并点击“打开”

3、比如是需要复制输出c盘下的Progam Data中文件夹的名字

4、在命令窗口中输入“cd c:\Progam Data”

5、点击“回车键”后出现下面情况

6、然后输入“dir /b>d:21.xls”命令并点击“回车键”

7、接着就在D盘出现名称为21的一个Excel表格

8、点击打开即可查看Progam Data中的文件夹名字都在Excel表格中,可以批量直接复制了



按Alt+F11,打开VBA编辑器,插入一个模块,把下面的代码贴进去,按F5执行
Sub t()
Dim s As FileSearch '定义一个文件搜对象
Set s = Application.FileSearch
s.LookIn = "c:\" '注意路径,换成你实际的路径
s.Filename = "*.*" '搜索所有文件
s.Execute '执行搜索
Cells.Delete '表格清空
For i = 1 To s.FoundFiles.Count
Cells(i, 1) = s.FoundFiles(i) '每一行第一列填写一个文件名
Next
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网