problem caused when microsoft switched to SDI from MDI

Rburn99

New Member
Joined
May 8, 2012
Messages
16
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?
 
Last edited:

Excel Facts

How to find 2nd largest value in a column?
MAX finds the largest value. =LARGE(A:A,2) will find the second largest. =SMALL(A:A,3) will find the third smallest
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?
I installed Free download Office Tab - bring tabbed user interface to Office tne basic version this week. It forces MDI for Excel in Office 365. SDI in Excel is baffling, when Word is MDI, Microsoft are inconsistent. This puts processor and memory load on computers. It took me a while to stop Outlook and Word macros to stop creating duplicate Word Apps. It is annoying that Excel seems to be adding extra load with SDI.

Office Tab 14.10 works really well to force MDI. Not sure if unregistered version will shut down in 30 days for payment... I will be looking into creating my own Add-in for Excel: ExcelSirJi | Simplest Way To Create Excel Add-in

...save as .xlam
 
Upvote 0
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?
My other problem is the read only pop up error stating for PERSONAL.XLSB, this seems a benign error but it is annoying, it happens when a second SDI is opened, but is 'sent to back' and hidden behind all open windows including other opened Apps.
 
Upvote 0
My other problem is the read only pop up error stating for PERSONAL.XLSB, this seems a benign error but it is annoying, it happens when a second SDI is opened, but is 'sent to back' and hidden behind all open windows including other opened Apps.
The office tab download has stopped the PERSONAL.XLSB error.
 
Upvote 0

Forum statistics

Threads
1,214,904
Messages
6,122,169
Members
449,070
Latest member
webster33

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top