Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Bring Form to Front

Posted on 2008-10-21
9
Medium Priority
?
1,514 Views
Last Modified: 2013-11-28
I have a form that is launched from another form.  The first thing it does when it comes up is bring up a file browser so that the user can select an Excel workbook.  The user is then supposed to work with the launched form to interact with the Excel workbook.  However, in most cases the Excel workbook completely covers the launched form.  So the user never sees it to know that there is anything to do.

Is there a way to bring the launched form back on top of the Excel workbook?  I don't want my launched form to become a topmost form that always stays on top.  I just want it to pop to the front.
0
Comment
Question by:dastrw
9 Comments
 
LVL 8

Expert Comment

by:Bradley Haynes
ID: 22770292
Use the form load event in VBA to load form on top.
0
 
LVL 2

Author Comment

by:dastrw
ID: 22770386
Could you give me some sample code?
0
 
LVL 7

Expert Comment

by:FER_G
ID: 22770657
You must use the "SetWindowPos API"

Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_ONTOP = -1
Private Const flags = SWP_NOMOVE Or SWP_NOSIZE

SetWindowPos frm1.hwnd, HWND_ONTOP, 0&, 0&, 0&, 0&, flags

So when you call the form (frm1) then, you call the "SetWindowPos API" and the form will allways be on top

FerG
Saludos
--
Ing. Fernando D. Giletta
San Fco. Cba. Argentina.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 2

Author Comment

by:dastrw
ID: 22770698
I already saw that comment.  I don't want the window to always be on top.  That will be annoying for the user.  I just want the form to come to the front.
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 2000 total points
ID: 22771098
dastrw

Try using the AppActivate command:
http://msdn.microsoft.com/en-us/library/dyz95fhy(VS.80).aspx

dastrw
0
 
LVL 2

Author Closing Comment

by:dastrw
ID: 31508441
This is exactly what I needed.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22771608
;-)
0
 
LVL 2

Author Comment

by:dastrw
ID: 22771716
There is just a minor problem with the AppActivate method:  If I manually bring up the launched form then just it shows up in front of my Excel workbook.  If I use the AppActivate command then the entire Access application comes up in front of the Excel workbook.  It would be nice if I could get AppActivate to just show the launched form, but the launched form doesn't have its own individual menu name as far as Windows is concerned.  This is just nit-picking though.
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 22772703
Yeah,
This is probably about as simple as it gets without using complicated API Code.

Jeff
0

Featured Post

Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
In a use case, a user needs to close an opened report by simply pressing the Escape (Esc) key. This can be done by adding macro code in Report_KeyPress or Report_KeyDown event.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question