将文件保存为前一个工作日的日期
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
我需要将文件保存为上一个工作日的日期。在星期一,我需要将文件保存为星期五的日期。
这是我的:
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