I am dusting off an old vba excel program that worked up to office 2010. Haven't tried it in any versions since until now when I tried running it in office 2019 and I'm having an issue because of the switch from MDI to SDI.
The program displays a form with some choices for the user. One of the choices is a Report formatting tool where the user can see their choices impact a demo report in a wysiwyg sort of setup. The program creates another workbook and makes changes to dummy data in sheet1 of that workbook as the user modifies settings on the vba form. Then it saves their choices and closes that example workbook.
What happens now is that when this example workbook is created it ends up behind the 'main' excel window (the one that was already up and that the user launched this vba 'application' from.) I can select that window from the toolbar and get it to the front but then it covers up the vba form which stays above the 'main' excel window but does not stay above this new workbook. This SDI change causes an additional problem as well. When the user actually generates reports, the vba app generates a workbook for each report (unless the user chooses to consolidate them all into one workbook). This creates a whole bunch of standalone excel applications each with their own toolbar (and consequently the button to launch this application) which can be very troublesome if the user starts 'relaunching' the application from these generated reports. And even worse, they cannot click on anything in excel any more because the initial vba form is now buried under many instances of excel. Until they can select the correct instance from the toolbar list that contains the form they cannot do anything.
I think if this vba for could stay above all these stand alone instances of excel that get created it would be working. But then there is that pesky situation where all these workbooks also contain a complete toolbar with this application launch on them. Can a workbook be created without the ribbon? Can a vba form be made to stay on top of all the excel windows?
The program displays a form with some choices for the user. One of the choices is a Report formatting tool where the user can see their choices impact a demo report in a wysiwyg sort of setup. The program creates another workbook and makes changes to dummy data in sheet1 of that workbook as the user modifies settings on the vba form. Then it saves their choices and closes that example workbook.
What happens now is that when this example workbook is created it ends up behind the 'main' excel window (the one that was already up and that the user launched this vba 'application' from.) I can select that window from the toolbar and get it to the front but then it covers up the vba form which stays above the 'main' excel window but does not stay above this new workbook. This SDI change causes an additional problem as well. When the user actually generates reports, the vba app generates a workbook for each report (unless the user chooses to consolidate them all into one workbook). This creates a whole bunch of standalone excel applications each with their own toolbar (and consequently the button to launch this application) which can be very troublesome if the user starts 'relaunching' the application from these generated reports. And even worse, they cannot click on anything in excel any more because the initial vba form is now buried under many instances of excel. Until they can select the correct instance from the toolbar list that contains the form they cannot do anything.
I think if this vba for could stay above all these stand alone instances of excel that get created it would be working. But then there is that pesky situation where all these workbooks also contain a complete toolbar with this application launch on them. Can a workbook be created without the ribbon? Can a vba form be made to stay on top of all the excel windows?
Last edited: