每天一个文件将创建日期为上一个工作日。 例如,(2017年5月16日,星期二)文件将创建日期为星期一05/15/2017。 而在2017年5月15日,星期一文件将创建日期为2017年12月5日。
我正在尝试使用以下代码的VBA打开文件,
文件名格式= "C:\users\Duke\report'05/15/2017'.XLS"
sub OpenFile()
Const fpath As String = "C:\users\Duke\Report"
Dim fname As String
fname = Format(Date - (Weekday((Date),Vbmonday) - 1), "yyyy-mm-dd")
fname = "'" & fname & "'" & ".XLS"
Dim path As String
path = fpath & fname
end ()
但它没有用,请建议。
答案 0 :(得分:0)
VBA没有处理工作日的内置方法。但是,如果您的代码仅运行M-F而SS是周末,则以下可能会计算所需的日期:
Dim X As Long
X = IIf(Weekday(Date) = vbMonday, 3, 1)
fname = Format(Date - X, "yyyy-mm-dd")
如果您的代码也可能在周末运行,那么您必须定义您希望在该事件中发生的事情