Must you use MS Excel 2010 as an MDI application only, always and forever?

What’s that? What is MDI? Whaaaaaat? Ha! Why that’s short for (M)ultiple (D)ocument (I)nterface. Ok great, but what is that really? Well, apart from MDI, there are also applications that work as SDI (and yes, that would be Single Document Interface). This has a long track back in the history of Microsoft applications and their development libraries, one of which was the infamous MFC — (M)icrosoft (F)oundation (C)lasses, a C++ library for Windows application development in MS Visual C++. It had both SDI and MDI templates from which you could bootstrap the development of a new native Windows application. In that framework, the parent window of any application used to be called the main frame (not to be confused with mainframe computers), or in code speak CMainFrame.

Smile if you remember CMainFrame or if you like bacon

Then, you needed to decide whether or not you wanted your application to deal with multiple windows *inside* that main frame, parent window. If you did, you would have used the MDI template and that application would be an MDI one. If not, well… connect the dots.

All MS Office applications followed suit. In MS Word 2010 (and I believe 2013 as well), when you open a document, it is by default going to be in it’s own window. It will have its own ribbon and everything will be self contained, independent of perhaps another document living in a completely separate window. Of course, there are ways to open multiple documents in the same MS Word instance as well, however without you going out of your way to change MS Word’s default behavior, they should all appear in their own respective instances of MS Word. That’s how most people have grown to know and use MS Word.

MS Excel however, is a whole different story. MS Excel used to be a SDI application up until 2003. For some … err, interesting reason, and in their infinite wisdom, Microsoft then decided to change that up and turn Excel into an MDI application. For 2013, this has been reverted and changed back to an SDI application. Now, if you are using Excel 2003, 2007 or 2010 and want to open more than one workbook in a separate window, you just might be out of luck.

I have asked myself many a times, why MDI? Seriously, I am really curious to understand that design decision.

This need comes in handy in particular if you are blessed with multiple monitors and then wish to look at one workbook in one monitor and another workbook in the next one. With MS Excel 2010, that’s really challenging to do. You have to open MS Excel, and then the two workbooks. Then you have to stretch the main Excel window (the main frame) over both monitors. Then you will need to tile the workbook windows vertically. Then it might align with your monitors, or you may need to fidget with it some more. If then you were to close one of the workbooks, it will remember it’s relative position within the parent mainframe. Slick, unless the next time you open that same workbook, Excel is not stretched over the same two monitors. In that case, you may find your workbook in the original position it was saved in, to the far right maybe, completely outside of your viewport — the part of the mainframe that is displayed and visible to you.

Fun, isn’t it? At this point, I have asked myself many a time, why MDI? Seriously, I am really curious to understand that design decision.

Well, there is a way to coerce MS Excel into opening each workbook in a completely separate instance, almost like… (gasp!) an SDI application! I stumbled upon this, not without serendipity. I forget where I found these easy to follow instructions, the name of the autor, whether it was an original post or transferred from somewhere, but I vividly remember how grateful I was to that person for making the post. Here are those easy to follow stepwise instructions:

  1. Open windows explorer and navigate to where you installed MS Office

    (something like: C:\Program Files\Microsoft Office\Office14?)
  2. Create an Excel shortcut

    Windows won’t let you create that shortcut there, so put it anywhere for now (desktop?)
  3. Move the shortcut into (on Windows 7 Pro):

  4. Now anytime you want to open a workbook in a separate window, use the context click and ‘Send To’ as opposed to double clicking or opening and your workbooks should appear in different windows.

Just like that. The Excel forceful MDI coercion is gone like it never was.

Enjoy BaconOh yeah, and the easy to follow instructions I found also said: Now enjoy bacon. I think this last step, while a true feast for some, might actually be optional. And copy pasting might be a little affected because the multiple workbooks no longer share the mainframe window, but there is … bacon to be had?

This will also work on Windows XP, Vista with MS Excel 2003 and 2007. The directory paths might just be a little different.

Bacon is not. It’s always the same. Whether you eat it or not.

Add a comment

Comment feed
The better to greet you with
No one will ever see this
Your pride and joy
The reason this comment form exists

The crew behind ASOT

We're a team of interactive, software, and business intelligence experts skilled in the design, construction, and management of online enterprise systems.

Visit The Jonah Group site

Get in touch with us