VBA批量提取文件名称,0基础写法

职场   2024-09-22 07:00   江苏  
今天我们聊点简单的VBA知识,比如如何批量提取文件名称,虽然提取的方法很多,但是VBA可以动态刷新更加方便!

想要提取文件名,还要做到自动化,那么最好让用户自己选择路径,那么我们就先来解决选择路径的难题!

▍用户选择文件夹

选择文件夹,我们用 Application.FileDialog 对象处理,这也是常用的一个对象,如果你是0基础抄一下,百度查查资料补充一下,也可以看我们系列教程!

▼ 动画演示效果

很多同学可能经常看到.show=-1的判断,不太懂,经常有问的,其实就是True的简写,VBA中True=-1,很多Excel同学,知道一般非0为True,但是VBA中不是,具体这样处理,是历史版本遗漏下来的,感兴趣的可以查查!


下面我们再看一下本节的核心,获取工作表名称。本节为了简化,我们使用比较基础的DIR函数来处理,以后大家基础好了,也可以使用更强的FSO对象处理!

▍批量获取工作表名称

先来看一下实现的效果,完全OK!下面我们放要点2的代码并做说明!

▼动画演示-完整效果

为了方便大家收藏和复用,代码中我已经添加了完整的注释!Do循环属于基础内容,简单入门后完全OK!

今天的内容就到这里,我们的VBA全系列教程,感兴趣的也可以了解一下!

完整代码
Option Explicit'>> 作者:E精精Sub 动态获取文件名称()    '--要点1:用户选择文件夹    Dim sPath As String    With Application.FileDialog(msoFileDialogFolderPicker)        '用户选择文件夹        If .Show = True Then            '显示文件夹            sPath = .SelectedItems(1)        Else            '取消退出            Exit Sub        End If    End With        '--要点2:批量获取工作表名称    Dim sfile As String    '获取Excel文件,根据需求修改后缀名    sfile = Dir(sPath & "\*.xls*")        Dim i As Long    '循环处理    Do While Len(sfile) > 0        i = i + 1        '写入当前表的第一列中        Cells(i, 1) = sfile        '下一个文件        sfile = Dir    Loop    MsgBox "处理完毕~"End Sub



▼ 动画演示-博主16万字完整教程!

Excel办公实战
分享Excel及WPS函数、技巧、VBA、PBI、JSA等办公技能。助你轻松实现办公自动化!易办公◎早下班!
 最新文章