ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Put a timer on a MsgBox? (https://www.excelbanter.com/excel-programming/271364-put-timer-msgbox.html)

Joe 90

Put a timer on a MsgBox?
 
Is vba able to put a timer on a MSgBox, so that OK is "clicked" after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get complete freezing of
the app and vba.

Any help much appreciated.

Joe



Bob Phillips[_5_]

Put a timer on a MsgBox?
 
Joe,

Use a custom form, and set the OnTime method when you initialise it to call
a proc that times out.

See OnTime in Help for details of that method.

--

HTH

Bob Phillips

"Joe 90" wrote in message
...
Is vba able to put a timer on a MSgBox, so that OK is "clicked" after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get complete freezing

of
the app and vba.

Any help much appreciated.

Joe





Joe 90

Put a timer on a MsgBox?
 
Thanks Bob, I guess you have answered my question. I was trying to avoid
custom forms but if that's the only way to go, I'll go that way :)

Joe

"Bob Phillips" wrote in message
...
Joe,

Use a custom form, and set the OnTime method when you initialise it to

call
a proc that times out.

See OnTime in Help for details of that method.

--

HTH

Bob Phillips

"Joe 90" wrote in message
...
Is vba able to put a timer on a MSgBox, so that OK is "clicked" after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get complete freezing

of
the app and vba.

Any help much appreciated.

Joe







Chip Pearson

Put a timer on a MsgBox?
 
Joe,

Set a reference to "Windows Script Host Object Model" and then use
code like

Dim SH As IWshRuntimeLibrary.WshShell
Set SH = New IWshRuntimeLibrary.WshShell
SH.Popup "Hello World", 5, "Title", vbYesNo

This will show a message box for 5 seconds, and then disappear,
returning the default value (Yes, in this example).


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Joe 90" wrote in message
...
Is vba able to put a timer on a MSgBox, so that OK is "clicked"

after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get complete

freezing of
the app and vba.

Any help much appreciated.

Joe





Chip Pearson

Put a timer on a MsgBox?
 
returning the default value (Yes, in this example).

Not correct. If the Popup times out with no user input, the
result is -1. Sorry for any confusion.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Chip Pearson" wrote in message
...
Joe,

Set a reference to "Windows Script Host Object Model" and then

use
code like

Dim SH As IWshRuntimeLibrary.WshShell
Set SH = New IWshRuntimeLibrary.WshShell
SH.Popup "Hello World", 5, "Title", vbYesNo

This will show a message box for 5 seconds, and then disappear,
returning the default value (Yes, in this example).


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Joe 90" wrote in message
...
Is vba able to put a timer on a MSgBox, so that OK is

"clicked"
after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get

complete
freezing of
the app and vba.

Any help much appreciated.

Joe







Joe 90

Put a timer on a MsgBox?
 
Chip

Many thanks, I'll give it a whirl!

Joe

"Chip Pearson" wrote in message
...
returning the default value (Yes, in this example).


Not correct. If the Popup times out with no user input, the
result is -1. Sorry for any confusion.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Chip Pearson" wrote in message
...
Joe,

Set a reference to "Windows Script Host Object Model" and then

use
code like

Dim SH As IWshRuntimeLibrary.WshShell
Set SH = New IWshRuntimeLibrary.WshShell
SH.Popup "Hello World", 5, "Title", vbYesNo

This will show a message box for 5 seconds, and then disappear,
returning the default value (Yes, in this example).


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Joe 90" wrote in message
...
Is vba able to put a timer on a MSgBox, so that OK is

"clicked"
after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get

complete
freezing of
the app and vba.

Any help much appreciated.

Joe









Alain CROS

Put a timer on a MsgBox?
 
Hi.

Try that.

Sub TimedMessage()
Const Title As String = "Self closing message box"
Const Delay As Byte = 2 ' Tps d'affichage en secondes
Const wButtons As Integer = 16 ' Boutons + icone
Dim wsh As Object, msg As String
Set wsh = CreateObject("WScript.Shell")
msg = Space(10) & "Bonjour," & vbLf & vbLf & "Nous sommes le " & Date
wsh.Popup msg, Delay, Title, wButtons
Set wsh = Nothing
End Sub

If you want no button
set Const wButtons As Integer = 7 + 16

Alain CROS.

"Joe 90" a écrit dans le message de news: ...
Is vba able to put a timer on a MSgBox, so that OK is "clicked" after a
specified time and a macro/code can continue?

I have tried allsorts but with Msgbox one seems to get complete freezing of
the app and vba.

Any help much appreciated.

Joe






All times are GMT +1. The time now is 05:51 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com