任务计划程序和工作簿打开宏

问题描述:

我有一个代码根据打开的时间执行不同的操作。 我正在使用任务计划程序来打开文件。代码在第二个elseif运行没有问题之前运行该部分。 但是,当从任务计划程序打开文件时,第二个elseif将不会运行。任务计划程序和工作簿打开宏

Sub workbook_open() 

Dim time_now As String 

time_now = Format(Now, "hh:mm:ss") 

If time_now > "00:05:00" And time_now < "00:05:30" And ThisWorkbook.MultiUserEditing Then 
    Application.DisplayAlerts = False 
    ThisWorkbook.ExclusiveAccess 
    Application.DisplayAlerts = True 
    Application.Calculation = xlCalculationAutomatic 
    ThisWorkbook.Save 
    Application.Quit 
ElseIf time_now > "00:05:00" And time_now < "00:05:30" And ThisWorkbook.MultiUserEditing = False Then 
Application.Quit 
ElseIf time_now > "00:10:00" And time_now < "00:11:00" Then 
    Application.DisplayAlerts = False 
    Call Sheet2.Update 
    If Not ActiveWorkbook.MultiUserEditing Then 
    ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.FullName, accessmode:=xlShared 
End If 
    Application.DisplayAlerts = True 
    ThisWorkbook.Save 
    Application.Quit 
Else 

End If 

End Sub 

如果我用F8手动运行代码,没有问题。另外sheet2.update没有问题。

不太确定为什么有人可以指点。 谢谢!

+0

使用'TimeSerial()'做一个时间比较' –

+0

好像你错过了我的评论。我的意思是这样的'如果现在> TimeSerial(5,0,0),现在

+0

oh ok谢谢!生病给了一个尝试 – Francis

我相信您的宏信任设置阻止任务调度程序打开该文件时的情况。

+0

但为什么第一个和第二个if/elseif语句的工作,如果这样的话? – Francis