如何仅在工作日运行工作簿打开代码?(M-F)



我有一系列应用程序。需要在一周中的特定日子运行的时间代码(M-F(。我不需要这些代码在周六/周日运行。我如何编码才能只运行M-F?Application.OnKey代码需要每天运行。谢谢


'Set keyboard shortcuts
Application.OnKey "^+{UP}", "Sheet4.SpinButton1_SpinDown"
Application.OnKey "^+{DOWN}", "Sheet4.SpinButton1_SpinUp"

If Weekday(Now()) > 2 And Weekday(Now()) < 7 Then Call Workbook_Open

Application.OnTime TimeValue("17:15:00"), "Saveit"
Application.OnTime TimeValue("17:17:00"), "MASTER"
Application.OnTime TimeValue("17:33:00"), "MASTER"
Application.OnTime TimeValue("17:59:00"), "MASTER"
Application.OnTime TimeValue("18:21:00"), "MASTER"
Application.OnTime TimeValue("18:45:00"), "MASTER"
Application.OnTime TimeValue("19:03:00"), "MASTER"
Application.OnTime TimeValue("19:23:00"), "MASTER"
Application.OnTime TimeValue("19:41:00"), "MASTER"
End Sub```

如果您的代码在没有IF的情况下工作正常,那么我在注释中建议的应该可以工作。

这就是你为了回应我的评论而修改代码的方式吗?

我使用了Date而不是Now,但它们应该给出相同的结果。此外,VBA中不需要Now之后的()

我还使用了>=2,因为您指示了M-F,即:您希望包括周一

...
'Set keyboard shortcuts
Application.OnKey "^+{UP}", "Sheet4.SpinButton1_SpinDown"
Application.OnKey "^+{DOWN}", "Sheet4.SpinButton1_SpinUp"

If Weekday(Date) >= 2 And Weekday(Date) < 7 Then 

Application.OnTime TimeValue("17:15:00"), "Saveit"
Application.OnTime TimeValue("17:17:00"), "MASTER"
Application.OnTime TimeValue("17:33:00"), "MASTER"
Application.OnTime TimeValue("17:59:00"), "MASTER"
Application.OnTime TimeValue("18:21:00"), "MASTER"
Application.OnTime TimeValue("18:45:00"), "MASTER"
Application.OnTime TimeValue("19:03:00"), "MASTER"
Application.OnTime TimeValue("19:23:00"), "MASTER"
Application.OnTime TimeValue("19:41:00"), "MASTER"
End If
End Sub

最新更新