Automatically "Click" Default Button on Message Boxes

  • Thread starter Thread starter Guest
  • Start date Start date
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!!
 
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.
 
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
 
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
 
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
 
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.
 
Back
Top