从子文件夹中找到最后一个名为 month 的文件夹

Find the last folder named as month from subfolders

我在文件夹树中有按月分组的报告

"somepath\YYYY\MMMYYYY"

例如"somepath17\MAR2017"。 显然,Year文件夹中最多可能有12个文件夹"MMMYYYY"。 系统从名称中以月份标识的最后一个文件夹上传文件。 IE。在 Jan2017、Feb2017、Mar2017 文件夹中,它应该从 Mar2017 上传文件。

我尝试将文件夹名称转换为数字:

Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim ObjFolder : Set ObjFolder = fso.GetFolder("somepath17\")
Set fc = ObjFolder.SubFolders 'here I should get all folders with months in their names
For each f in fc
a = Month("01-"&left(f.name, 3)&"-"&right(f.name, 4))
print a
Next

接下来打印:

4

2

3

下一步应该是从中找出最大的数字并将工作文件夹名称设置为

a = MonthName(maxnumber)&"2017"
workingfolder = "somepath17\"&a&"\"

如何确定最大数量或最大月份?

以下有效:

Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim ObjFolder : Set ObjFolder = fso.GetFolder("somepath17\")
Set fc = ObjFolder.SubFolders
    For i=0 to fc.count
        For each f in fc
            a = Month("01-"&left(f.name, 3)&"-"&right(f.name, 4))
            Redim Preserve arr(fc.count)
            arr(i)=a
        Next
    Next
    arrLen = UBound(arr) 'Find the length of array
    For j= 0 to arrLen
     If arr(j) > max Then
        max=arr(j)
     End If
    Next
Dim OrgFolder : Set OrgFolder = fso.GetFolder(ObjFolder&"\"&MonthName(arr(0), True)&"2017\")