判断文件夹存在_VBA: 统计各个文件夹内的指定文件个数

使用VBA在日期文件夹结构中遍历并统计12月份PDF文件的总数,以计算当月产量。文章介绍了如何通过Userform界面设计及VBA代码实现这一功能。
摘要由CSDN通过智能技术生成

    文章背景:某台仪器测量结束后,测试数据以pdf格式保存在日期文件夹内。想要通过获取12月份的pdf总数,计算当月产量。需要遍历各个日期文件夹,进行文件的统计汇总工作。

文件夹的架构如下:

bf451b73f83af74e0a637773c088134e.png

采用VBA进行统计汇总工作,Userform的布局如下:

bc6a9c428da77db3ab9ca1bb6e4f5796.png

统计文件个数的按钮为CommandButton1,相关代码如下:

Option ExplicitPrivate Sub CommandButton1_Click()        '遍历查找    Dim tarSheet As Worksheet, num As Integer, folder As String        Dim flag As Long        '1 清除原有数据    Set tarSheet = ThisWorkbook.Worksheets("统计文件个数")        num = tarSheet.Range("A65535").End(xlUp).row        If num > 1 Then            tarSheet.Range("A2:B" & num).ClearContents        End If        '2 文件统计    folder = PathBox1.Value    searchfile folder, tarSheet        MsgBox "Done!"        Exit SubEnd SubSub searchfile(folder As String, tarSheet As Worksheet)    '文件统计    Dim fso As Object, fld As Object, subfld As Object, file As Object        Dim row As Integer, temp As Integer        row = 1    '行数追踪        Set fso = CreateObject("Scripting.FileSystemObject")        If fso.FolderExists(folder) Then             '判断文件夹是否存在            Set fld = fso.GetFolder(folder)                For Each subfld In fld.SubFolders        '遍历子文件夹                    row = row + 1                        '日期            tarSheet.Cells(row, 1) = subfld.Name                                    temp = 0            For Each file In subfld.Files       '遍历子文件                            If file.Name Like "*.pdf" Then                                    temp = temp + 1                                End If                        Next                        '文件个数            tarSheet.Cells(row, 2) = temp                    Next            Else            MsgBox "文件夹的路径不存在,请确认!"                Exit Sub        End If        tarSheet.Cells(row + 1, 1) = "总和"    tarSheet.Cells(row + 1, 2) = Application.WorksheetFunction.Sum(tarSheet.Range("B2:B" & row))    End SubPrivate Sub UserForm_Initialize()    '初始化设置    PathBox1.Value = "E:\12月份"    End Sub

运行效果:

延伸阅读:

[1] VBA: 遍历文件抓取指定条件的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值