使用VBA导出Access中的模块并统计表、报表和窗体数量

最近需要统计Access文件中各个对象的规模,经过一番查找和尝试用VBA写了一个小工具,只要修改里面的文件路径就可以使用了。

Sub getMdbCount()
    Dim accapp As Object
    tagpth = "D:\access"
    Set accapp = CreateObject("Access.Application")
    Set fso = CreateObject("scripting.filesystemobject")
    Set gfolder = fso.getfolder(tagpth)

    For Each sfil In gfolder.Files()
        sfilnm = sfil.Name
        sfilHz = Right(sfilnm, Len(sfilnm) - InStrRev(sfilnm, "."))
        sfilNa = Left(sfilnm, InStrRev(sfilnm, ".") - 1)
        nowFile = sfil.Path
        If UCase(sfilHz) = "MDB" Then
            accapp.OpenCurrentDatabase nowFile
            newpath = tagpth & "\" & sfilNa
            If Not fso.folderexists(newpath) Then
                fso.createfolder (newpath)
            End If
            For Each modu In accapp.CurrentProject.AllModules
                accapp.DoCmd.OutputTo acOutputModule, modu.Name, , newpath & "\" & modu.Name & ".bas"
            Next
            
            Set tagrng = [a65536].End(xlUp).Offset(1, 0)
            tagrng.Resize(1, 5) = Array(sfilnm, accapp.CurrentData.AllQueries.Count, accapp.CurrentData.AllTables.Count _
                                        , accapp.CurrentProject.AllForms.Count, accapp.CurrentProject.AllReports.Count)
            accapp.CloseCurrentDatabase
        End If
    Next
    MsgBox ("SUCCESS !!")
End Sub
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值