将文件保存为前一个工作日的日期

Save a file as the previous weekday's date

我需要将文件保存为上一个工作日的日期。在星期一,我需要将文件保存为星期五的日期。

这是我的:

If FileDate = Weekday(Date, vbMonday) Then Format(DateAdd("d", -3, Date)) = "yyyymmdd" Else FileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")

即使在星期一,这也会吐出 date-1。

像这样试一试。它将打印文件的正确名称:

Public Sub TestMe()

    Dim fileDate    As String

    If Weekday(Date, vbMonday) = 1 Then
        fileDate = Format(DateAdd("d", -3, Date), "yyyymmdd")
    Else
        fileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")
    End If

    Debug.Print fileDate

End Sub

编辑:有人指出我在 Weekday 函数结构中犯了一个错误。在初始 if 条件中添加了“= 1”。

早上好kms5549。刚刚对此进行了测试,它似乎吐出了正确的一天。希望这有帮助,

Dim fileDate As String

If Weekday(Date, vbMonday) = 1 Then
    fileDate = Format(DateAdd("d", -3, Date), "yyyymmdd")
Else
    fileDate = Format(DateAdd("d", -1, Date), "yyyymmdd")
End If