View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
wanderlust wanderlust is offline
external usenet poster
 
Posts: 3
Default AutoRun Macro with a delay to give user the choice to cancel the macro

On Sep 28, 9:39 am, Andrew Taylor wrote:
You can use the Popup method of the scripting shell object,
which has a timeout parameter.

Sub MessageWithTimeout()
Dim scriptshell As Object

Set scriptshell = CreateObject("wscript.shell")
Const TIMEOUT_SECONDS = 5

Select Case scriptshell.popup("What's the answer?",
TIMEOUT_SECONDS, "Select an answer", vbYesNo + vbQuestion)
Case vbYes
MsgBox "Yes"
Case vbNo
MsgBox "No"
Case -1
MsgBox "Timeout"
End Select

End Sub

On Sep 28, 2:00 pm, wanderlust wrote:

Hi,
I am trying to write a macro that will execute when the workbook
is open. What I intend to do is to run this macro off of a batch file
that will open the file, run the macro and close the workbook.


Ideally, when the batch file kicks off the macro, I would like to
have a message pop up that says "Do you want to run the macro?" with
"yes" and "no" as the options. If there is no response within 10
seconds, go ahead and run the macro. This way, if some user opens the
file, but doesn't want to run the macro, the user can click on "no"
within 10 seconds and cancel the macro execution.


Thanks,
Ravi


Worked like a Charm!!!!!!
Thanks for your help. I was trying to search on the groups for this
but, without success.
Ravi