使用取消选项延迟auto_open宏

时间:2017-09-24 12:02:10

标签: excel vba excel-vba

我目前正在开发一个宏,我最终会用它每天从网上导入数据,这将在打开excel文件时激活。数据仅在一天的特定时间后相关,我将使用任务计划程序在此时间后自动打开文件。

唯一的问题是,当我手动打开文件时,我不希望宏运行,因此我想知道是否可以在宏上添加延迟计时器,添加了在此期间阻止宏执行的能力。或者,如果有任何其他可能的解决方案来解决这个问题。

干杯全部

1 个答案:

答案 0 :(得分:3)

打开工作簿时可以使用msgbox。

  • 如果单击“取消”,代码将不会运行。
  • 如果单击“确定”,代码将会出现 运行。
  • 如果你不做任何事情5秒(任务调度程序),代码将会 运行。
Private Sub Workbook_Open()
Dim msg As String, runcode As Long

msg = "Click cancel to abort or the code will execute in 5 seconds!"
runcode = CreateObject("Wscript.Shell").Popup(msg, 5, "What to do:", vbOKCancel)

If runcode = 2 Then End

'call import data macro
End Sub