Avatar of rrhandle8
rrhandle8
Flag for United States of America asked on

Get focus back to Excel

I have an Excel/vba app that is used to place orders at Overstock.  Before the order is placed, a dialog box is generated in Excel asking the user if they want to place the order or not.  You don't see the dialog box, but excel starts flashing.  It you click on Excel, the dialog box appears.  Is there someway to get the focus back to Excel?
Microsoft Excel

Avatar of undefined
Last Comment
Qlemo

8/22/2022 - Mon
byundt

Please post the code with the problem, or better yet post the workbook.

Which version of Excel are you using?
Qlemo

It is intentional that applications cannot bring themselves in front anymore. Instead, they are flashing in taskbar. This is to make sure noone intercepts interactive input for malicious purposes.

However, you can trick that (IIRC) by making the current window minized and then restore it back again. As you seem to trigger the Dialog Box call somehow from outside of Excel, it should not be difficult to change window state first.
rrhandle8

ASKER
Here is the code.
Credit card information is entered into the  web page, then I want the dialog box to ask the user if they want to proceed with the order.
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
rrhandle8

ASKER
ieDoc.getElementById("CC").Click
ieDoc.getElementById("CC_number").Value = frmOrderSystem.txtCreditCard
ieDoc.getElementById("exp_month").Value = frmOrderSystem.txtExpMonth
ieDoc.getElementById("exp_year").Value = frmOrderSystem.txtExpYear

Do While ieApp.Busy: DoEvents: Loop
Do Until ieApp.READYSTATE = READYSTATE_COMPLETE: DoEvents: Loop
Func.PauseBrowser


If frmOrderSystem.chkPromptBeforePlacingOrder = True Then
    response = MsgBox("Do you want to place this order?" & vbCrLf & "ProfitLoss: " & ProfitLoss, vbYesNo)
Else

Open in new window

Qlemo

There is no way to reasonable do that, if the Web page is shown for confirming it is the correct order to get placed. It only makes sense to either show the msgbox or IE in front, but not both. Unless the resolution is large enough to show both side by side ;-).

If you do need the IE only for executing your login / CC stuff, why not do that invisibly?
rrhandle8

ASKER
Cannot do it invisibly because we need to watch what is going on until we have the bugs work out of it.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
ASKER CERTIFIED SOLUTION
Qlemo

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question