ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Close msgbox automatically (https://www.excelbanter.com/excel-programming/421822-close-msgbox-automatically.html)

EXCELMACROS

Close msgbox automatically
 
Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...

Mike H

Close msgbox automatically
 
Hi,

How about this which auto closes after 5 seconds or sooner if the user
presses OK

CreateObject("WScript.Shell").popup "Your Message", 5

Mike

"EXCELMACROS" wrote:

Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...


EXCELMACROS

Close msgbox automatically
 
I need to close it in 5 seg, can't wait for the user to press "ok" what do
you think?
--
Thank you...


"Mike H" wrote:

Hi,

How about this which auto closes after 5 seconds or sooner if the user
presses OK

CreateObject("WScript.Shell").popup "Your Message", 5

Mike

"EXCELMACROS" wrote:

Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...


Mike H

Close msgbox automatically
 
I think you need to go back and read my post again.

How about this which auto closes after 5 seconds or sooner if the user
presses OK


Mike


"EXCELMACROS" wrote:

I need to close it in 5 seg, can't wait for the user to press "ok" what do
you think?
--
Thank you...


"Mike H" wrote:

Hi,

How about this which auto closes after 5 seconds or sooner if the user
presses OK

CreateObject("WScript.Shell").popup "Your Message", 5

Mike

"EXCELMACROS" wrote:

Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...


EXCELMACROS

Close msgbox automatically
 
Well, I did copy paste exactly what you suggested and is not closing in 5
seg...
--
Thank you...


"Mike H" wrote:

I think you need to go back and read my post again.

How about this which auto closes after 5 seconds or sooner if the user
presses OK


Mike


"EXCELMACROS" wrote:

I need to close it in 5 seg, can't wait for the user to press "ok" what do
you think?
--
Thank you...


"Mike H" wrote:

Hi,

How about this which auto closes after 5 seconds or sooner if the user
presses OK

CreateObject("WScript.Shell").popup "Your Message", 5

Mike

"EXCELMACROS" wrote:

Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...


Leith Ross[_705_]

Close msgbox automatically
 

Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231


Mike H

Close msgbox automatically
 
Hi,

Then I'm at a loss to understand why. I don't believe you need to set any
references to make this work but perhaps someone else can enlighten us (me).
Once again for me it displays for 5 seconds and then auto closes.

I'll post it again in case tit became corrupted last time

CreateObject("WScript.Shell").Popup "Your Message", 5, "User Message"

Mike

Mike

"EXCELMACROS" wrote:

Well, I did copy paste exactly what you suggested and is not closing in 5
seg...
--
Thank you...


"Mike H" wrote:

I think you need to go back and read my post again.

How about this which auto closes after 5 seconds or sooner if the user
presses OK


Mike


"EXCELMACROS" wrote:

I need to close it in 5 seg, can't wait for the user to press "ok" what do
you think?
--
Thank you...


"Mike H" wrote:

Hi,

How about this which auto closes after 5 seconds or sooner if the user
presses OK

CreateObject("WScript.Shell").popup "Your Message", 5

Mike

"EXCELMACROS" wrote:

Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...


EXCELMACROS

Close msgbox automatically
 
Sorry Mike, It won't close until I press "OK" Thank you so much for your
help...
--
Thank you...


"Mike H" wrote:

Hi,

Then I'm at a loss to understand why. I don't believe you need to set any
references to make this work but perhaps someone else can enlighten us (me).
Once again for me it displays for 5 seconds and then auto closes.

I'll post it again in case tit became corrupted last time

CreateObject("WScript.Shell").Popup "Your Message", 5, "User Message"

Mike

Mike

"EXCELMACROS" wrote:

Well, I did copy paste exactly what you suggested and is not closing in 5
seg...
--
Thank you...


"Mike H" wrote:

I think you need to go back and read my post again.

How about this which auto closes after 5 seconds or sooner if the user
presses OK

Mike


"EXCELMACROS" wrote:

I need to close it in 5 seg, can't wait for the user to press "ok" what do
you think?
--
Thank you...


"Mike H" wrote:

Hi,

How about this which auto closes after 5 seconds or sooner if the user
presses OK

CreateObject("WScript.Shell").popup "Your Message", 5

Mike

"EXCELMACROS" wrote:

Hello, me again.., I'm trying to close a msgbox using application.ontime now
+ 5seg

Thank you in advance
--
Thank you...


EXCELMACROS

Close msgbox automatically
 
Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231



Peter T

Close msgbox automatically
 
The WScript.Shell - popup method is not reliable to dismiss a msgbox. It may
work in some machines, not at all, or erratically (does not seem to relate
to windows version).

Best way is make a userform to look like a msgbox, perhaps pass a message to
a label caption and include some sort of timer to dismiss the form if still
showing after say 5 seconds, eg

' userform code
Private mbShow As Boolean

Private Sub UserForm_Activate()
Dim t As Single
Dim ShowTime As Single

mbShow = True

ShowTime = 5
t = Timer

While (Timer < ShowTime + t) And mbShow
DoEvents
Wend

If mbShow Then
Unload Me
End If
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
mbShow = False
End Sub

Regards,
Peter T


"EXCELMACROS" wrote in message
...
Hello, me again.., I'm trying to close a msgbox using application.ontime
now
+ 5seg

Thank you in advance
--
Thank you...




Orion Cochrane

Close msgbox automatically
 
Set a reference to Windows Script Host Object Model (Tools References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231



Mike H

Close msgbox automatically
 
Hi,

In XL2003, I can run the solution posted by me and the one by Leith without
setting this reference.

Mike

"Orion Cochrane" wrote:

Set a reference to Windows Script Host Object Model (Tools References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231



Orion Cochrane

Close msgbox automatically
 
I took the reference out, and it worked as well for me too.
--
I am running on Office 2003, unless otherwise stated.


"Mike H" wrote:

Hi,

In XL2003, I can run the solution posted by me and the one by Leith without
setting this reference.

Mike

"Orion Cochrane" wrote:

Set a reference to Windows Script Host Object Model (Tools References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231



EXCELMACROS

Close msgbox automatically
 
Thank you all, I'm also on XL2003, very weird I'll try on a different
computer tonight and let you know...
--
Thank you...


"Orion Cochrane" wrote:

I took the reference out, and it worked as well for me too.
--
I am running on Office 2003, unless otherwise stated.


"Mike H" wrote:

Hi,

In XL2003, I can run the solution posted by me and the one by Leith without
setting this reference.

Mike

"Orion Cochrane" wrote:

Set a reference to Windows Script Host Object Model (Tools References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231



EXCELMACROS

Close msgbox automatically
 
This method worked, thank you MIKE ; LEITH ; ORION and PETER
--
Thank you...


"Peter T" wrote:

The WScript.Shell - popup method is not reliable to dismiss a msgbox. It may
work in some machines, not at all, or erratically (does not seem to relate
to windows version).

Best way is make a userform to look like a msgbox, perhaps pass a message to
a label caption and include some sort of timer to dismiss the form if still
showing after say 5 seconds, eg

' userform code
Private mbShow As Boolean

Private Sub UserForm_Activate()
Dim t As Single
Dim ShowTime As Single

mbShow = True

ShowTime = 5
t = Timer

While (Timer < ShowTime + t) And mbShow
DoEvents
Wend

If mbShow Then
Unload Me
End If
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
mbShow = False
End Sub

Regards,
Peter T


"EXCELMACROS" wrote in message
...
Hello, me again.., I'm trying to close a msgbox using application.ontime
now
+ 5seg

Thank you in advance
--
Thank you...





Peter T

Close msgbox automatically
 
Not weird, no need to be surprised if it doesn't work for you as I tried to
explain in my other post.

The reference is not required if using late binding and createobject, but
that's not the issue.

Regards,
Peter T

"EXCELMACROS" wrote in message
...
Thank you all, I'm also on XL2003, very weird I'll try on a different
computer tonight and let you know...
--
Thank you...


"Orion Cochrane" wrote:

I took the reference out, and it worked as well for me too.
--
I am running on Office 2003, unless otherwise stated.


"Mike H" wrote:

Hi,

In XL2003, I can run the solution posted by me and the one by Leith
without
setting this reference.

Mike

"Orion Cochrane" wrote:

Set a reference to Windows Script Host Object Model (Tools
References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to
close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change
this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile:
http://www.thecodecage.com/forumz/member.php?userid=75
View this thread:
http://www.thecodecage.com/forumz/sh...ad.php?t=45231





Orion Cochrane

Close msgbox automatically
 
No problem. I was hoping to avoid the userform route, but if that's the only
way, then it must be done.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

This method worked, thank you MIKE ; LEITH ; ORION and PETER
--
Thank you...


"Peter T" wrote:

The WScript.Shell - popup method is not reliable to dismiss a msgbox. It may
work in some machines, not at all, or erratically (does not seem to relate
to windows version).

Best way is make a userform to look like a msgbox, perhaps pass a message to
a label caption and include some sort of timer to dismiss the form if still
showing after say 5 seconds, eg

' userform code
Private mbShow As Boolean

Private Sub UserForm_Activate()
Dim t As Single
Dim ShowTime As Single

mbShow = True

ShowTime = 5
t = Timer

While (Timer < ShowTime + t) And mbShow
DoEvents
Wend

If mbShow Then
Unload Me
End If
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
mbShow = False
End Sub

Regards,
Peter T


"EXCELMACROS" wrote in message
...
Hello, me again.., I'm trying to close a msgbox using application.ontime
now
+ 5seg

Thank you in advance
--
Thank you...





JLGWhiz

Close msgbox automatically
 
Works for me too, Mike. Must be something in the OP settings that prevents
it from executing.

"Mike H" wrote:

Hi,

In XL2003, I can run the solution posted by me and the one by Leith without
setting this reference.

Mike

"Orion Cochrane" wrote:

Set a reference to Windows Script Host Object Model (Tools References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231



Gord Dibben

Close msgbox automatically
 
Doesn't work for me in my 2003 setup.

The msgbox appears on the screen and also as a new entry(Test) on my
Taskbar??

But never closes on its own.


Gord Dibben MS Excel MVP

On Tue, 30 Dec 2008 17:25:01 -0800, JLGWhiz
wrote:

Works for me too, Mike. Must be something in the OP settings that prevents
it from executing.

"Mike H" wrote:

Hi,

In XL2003, I can run the solution posted by me and the one by Leith without
setting this reference.

Mike

"Orion Cochrane" wrote:

Set a reference to Windows Script Host Object Model (Tools References).
Copy and paste the TimedMsgBox code and try it. It works for me.
--
I am running on Office 2003, unless otherwise stated.


"EXCELMACROS" wrote:

Sorry Leith, it did not work. I have to click "OK" for it to close...
--
Thank you...


"Leith Ross" wrote:


Hello EXCELMACROS,

Here is macro to close the dialog after 5 seconds. You can change this
to suite your needs.

Code:
--------------------

Sub TimedMsgBox()

Dim Msg As String
Dim Secs As Long
Dim Wsh As Object

Title = "Test"
Msg = "This will close in 5 seconds."
Secs = 5

Set Wsh = CreateObject("WScript.Shell")
RetVal = Wsh.Popup(Msg, Secs, Title, vbInformation + vbOKOnly)
Set Wsh = Nothing

End Sub

--------------------

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.thecodecage.com/forumz/member.php?userid=75
View this thread: http://www.thecodecage.com/forumz/sh...ad.php?t=45231





All times are GMT +1. The time now is 07:23 PM.

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