La macro permette di avere un messaggio a tempo con risposta automatica (prefissata) dopo il tempo trascorso (in secondi)
Il classico messaggio con risposta "Si" o "No"
è una macro di questo tipo
- Codice: Seleziona tutto
Sub MsgboXNormal()
Msga = "Vuoi elaborare?"
Risp = MsgBox(Msga, vbYesNo)
If Risp = 6 Then
MsgBox "Elabora"
Else
MsgBox "Salta Elaborazione"
End If
End Sub
Excel attende una risposta senza la quale non prosegue
Mi è successo di lanciare la macro che avrebbe dovuto fare sia un aggiornamento dati (veloce) sia una elaborazione (con tempi lunghi e che a volte non faccio eseguire), e ritrovare, al mio ritorno, l'attesa della risposta
a questo punto ho ritenuto utile un messaggio a tempo che, dopo trascorso, eseguisse la routine prevista.
- Codice: Seleziona tutto
Sub MsgboxDelay()
Const wshYes = 6
Const wshNo = 7
Const wshYesNoDialog = 4
Const wshQuestionMark = 32
Dim xlApp, xlBook
Dim CurrDir
TR = 10 'secondi
Set objShell = CreateObject("Wscript.Shell")
Risp = objShell.Popup("Vuoi elaborare? Risp in " & TR & " sec ", TR, "Programma di aggiornamento", wshYesNoDialog + wshQuestionMark)
If Risp <> wshNo Then
MsgBox "Elabora"
Else
MsgBox "Salta Elaborazione"
End If
End Sub
La condivido per eventuali vostri impieghi