Automatically "Click" Default Button on Message Boxes

G

Guest

I inherited some VBA code that is 30,000 lines long that has various message
pop-up boxes that occur throughout the code depending upon certain
conditions. Every message box has a default box ("Ok" and "Yes" for example)
that I would like to have automatically selected without requiring user
intervention. I would rather not code around the message boxes as there are
over 100 of them that could pop-up. Is there a setting in Excel
(Application.DisplayAlerts=False only works for non-VBA generated pop-ups and
does not work here) that would have VBA simply select the default button? It
would be such a great help to not have to code around all 100+ boxes!

Thank you very much inadvance!!
 
G

Guest

there is no buiilt in setting that will ignore or answer a vba generated
msgbox.

Are you sure the Original author didn't put in some type of flag variable or
use conditional compilation to control the display of the msgboxes.
 
N

NickHK

If Tom's suggestion does not apply and the MsgBoxes are in the style:
MsgBox "Some text", vbYesNo

You could just do an Edit>Replace, MsgBox with Debug.Print.

Otherwise you have some editing to do.

NickHK
 
A

Aaron Graham

Were you able to figure out how to get this to work? I have pop ups that occur, about 20 of them, while my macro is running. Is there a short way to code into the program to automatically click the default choice, or possibly just press the enter key when the message box comes up. Thanks



Dr wrote:

Automatically "Click" Default Button on Message Boxes
14-Jun-07

I inherited some VBA code that is 30,000 lines long that has various message
pop-up boxes that occur throughout the code depending upon certain
conditions. Every message box has a default box ("Ok" and "Yes" for example)
that I would like to have automatically selected without requiring user
intervention. I would rather not code around the message boxes as there are
over 100 of them that could pop-up. Is there a setting in Excel
(Application.DisplayAlerts=False only works for non-VBA generated pop-ups and
does not work here) that would have VBA simply select the default button? It
would be such a great help to not have to code around all 100+ boxes!

Thank you very much inadvance!!
--
Dr. M

Previous Posts In This Thread:

Automatically "Click" Default Button on Message Boxes
I inherited some VBA code that is 30,000 lines long that has various message
pop-up boxes that occur throughout the code depending upon certain
conditions. Every message box has a default box ("Ok" and "Yes" for example)
that I would like to have automatically selected without requiring user
intervention. I would rather not code around the message boxes as there are
over 100 of them that could pop-up. Is there a setting in Excel
(Application.DisplayAlerts=False only works for non-VBA generated pop-ups and
does not work here) that would have VBA simply select the default button? It
would be such a great help to not have to code around all 100+ boxes!

Thank you very much inadvance!!
--
Dr. M

there is no buiilt in setting that will ignore or answer a vba generated
there is no buiilt in setting that will ignore or answer a vba generated
msgbox.

Are you sure the Original author didn't put in some type of flag variable or
use conditional compilation to control the display of the msgboxes.

--
Regards,
Tom Ogilvy


:

Re: Automatically "Click" Default Button on Message Boxes
If Tom's suggestion does not apply and the MsgBoxes are in the style:
MsgBox "Some text", vbYesNo

You could just do an Edit>Replace, MsgBox with Debug.Print.

Otherwise you have some editing to do.

NickHK

message
example)
are
and
It


Submitted via EggHeadCafe - Software Developer Portal of Choice
LINQ With Strings
http://www.eggheadcafe.com/tutorial...47db-adb9-db7fe2c6ab8c/linq-with-strings.aspx
 
P

Peter T

The default choice will always be whatever is returned by pressing Enter, so
I suppose in theory you could search all your Msgbox and insert a new line
in front
Application.SendKeys ("~")

Personally I wouldn't do that, for the time it takes assign the Msgbox
return value with whatever the default value is and comment the msgbox. Or
maybe

' code
If gbShowMsg then
ret = Msgbox("hello", vbYesNo)
else
ret = vbYes
end if
' code

where gbShowMsg is a pblically declared boolean

Regards,
Peter T
 
A

Akihito Yamashiro

If those messages are prompted by Excel,
you can make them not prompted by using of
Application.DisplayAlerts = False

Don't forget : APplication.DisplayAlerts = True
when you exit code.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top