excel 如何找到包含今天日期的文件夹名称?

xwmevbvl  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(133)

我需要检查是否有一个文件夹的名称包括今天的日期。
路径看起来像;
B:\国家统计局\信用卡\2022\34 - 17.09.2022\Nakit列表. xlsx
在Years下有很多子文件夹的名称类似于“34- 17.09.2022”或“15- 16.09.2022”等。
日期前的数字是随机变化的。
我怎样才能找到以今天的日期结尾的文件夹名称(或者以今天的日期开头的文件夹名称。我可以将数字移到日期后面)?
我试过了。

dtToday = Format(Date, "dd.mm.yyyy")
dtYear = Format(Date, "yyyy")
Ihracat = "B:\NOS\EIhracat\Credit\" & dtYear & "\"

strFileName = Ihracat & "*dtToday & "\" & "Nakit List.xlsx"
strFileExists = Dir(strFileName)

If strFileExists = "" Then
    MsgBox "Can't find!"
Else
xfb7svmp

xfb7svmp1#

请使用下一个函数。如果您知道名称中包含Date的搜索文件所在的文件夹,则该函数有效:

Function getFoldPath(dirFolder As String, strToFind As String) As String
    Dim fldName As String
    If Right(dirFolder, 1) <> "\" Then dirFolder = dirFolder & "\"
    fldName = Dir(dirFolder & "*" & strToFind & "*", vbDirectory)

    Do While fldName <> ""
        If fldName <> "." And fldName <> ".." Then
            ' Use bitwise comparison to make sure dirFolder is a directory.
            If (GetAttr(dirFolder & fldName) And vbDirectory) = vbDirectory Then
                getFoldPath = dirFolder & fldName: Exit Function
            End If
        End If
        fldName = Dir
    Loop
End Function

您可以通过以下方式调用该函数:

Sub testGetFoldPath_()
    Const parentFolder As String = "B:\NOS\EIhracat\Credit\2022\" 'take care of the ending backslash ("\")
    Debug.Print getFoldPath(parentFolder, CStr(Format(Date, "dd.mm.yyyy")))
End Sub

相关问题