Although it seems like every Excel workbook that you open is a standalone instance, Excel is basically still the MDU application it’s always been. The Office team deploys some clever tricks to hide it, but in some situations it becomes apparent. Let’s explore.

Multiple-document user interface (MDU) describes an app designed such that a parent window hosts all the child windows the application creates. In other words, it’s an app UI where all documents are opened within the same window frame. In essence, the parent window acts like a contained desktop workspace (including scrollbars if necessary), and all child windows – the individual documents – are trapped inside that parent window frame.

The tabbed interface most commonly seen in web browsers is a close cousin to the MDU interface, the key difference being that tabs only allow one document to be viewed at a time.

[winfile.exe] Windows File Manager, miraculously still around all these years later, is a classic MDU application.
[msaccess.exe] Microsoft Access lets a user choose a windowing style for each database they open.
[progman.exe] Program Manager used child windows in an MDU layout to show what would later become Start menu groups.

Microsoft Excel, too, was originally an MDU application up through the release of Office 2010. Through this release, Excel would have one single parent window and each file you opened was contained inside it, like below. Unless you reduced the size of a document or used the “side by side” options, you may never have noticed this.

Two docs, one app.

By default (yet user-configurable), Excel deployed some clever system tricks so that each child window would show a separate Windows taskbar button instead of just one single “Excel” button representing the parent window as an MDU normally would. This is also why Excel has a “switch windows” button on its own toolbar.

What you probably did notice, however, is that an Excel file could not retrieve data or use formula references to another workbook unless that other workbook was open in the same instance of Excel. If you had two separate instances of Excel, typing an equal sign and then clicking into the other window would not populate a formula reference.

Another side-effect was that if Excel was to display a blocking modal window, you would be unable to switch to any other open Excel document running in that parent instance until that modal window was closed. If you needed this case, you’d have to open two separate instances of Excel (which then couldn’t “talk” to each other). Turns out, none of the above has actually changed expect in a superficial visual way.

While Office 2013 dropped the parent window frame and drew a complete window frame and toolbar for every open document, this was a visual change only and the parent instance of Excel – complete with all the caveats of formula references and modal hassles – still applied and still do today in the latest releases of Excel.

Because of the decades of precedent and an uncountably infinite number of VBA macros and extensions that rely on this per-instance design paradigm, I believe this is very unlikely to ever change. It’d be a ground-up rewrite that would break pretty much everything in the Excel world.

So even though Excel may look like every document has a self-contained instance, it really still behaves just as it has since ’95. That also means all the same tricks still work, even if they are less obvious.

Real World Example 1: Blocking Modal Windows

Often times, authoring a spreadsheet workbook requires looking at more than one file at a time. And if you open the Power Query editor, you’ll find it is a modal window — while it is open you cannot interact with the Excel window behind it, nor any other Excel documents running in the same instance. But what if you need to open Power Query in the other Excel document to reference or copy a query? Running a separate instance of Excel will allow you to do this because each instance is entirely separate, almost as if you were using a different computer entirely.

In the old days of MDU, opening another instance of Excel was visually distinct. You could see two Excel window frames, and each would have one or more documents open inside it. These days because the visual cues are gone, it can be difficult to tell. Every individual document looks like a separate instance of Excel.

This command will launch a fully separate instance of Excel, even if one instance is already running.

My trick: launch Excel from the Run box using the /x switch, so that it opens a new instance. Open your 2nd document there and you can have two Power Query editors open at once; neither instance knows of the other one, so the modal window won’t block it.

Trust me, it’s more impressive than it looks.

Real World Example 2: Lengthy Calculations and Queries

Another case where I will launch a separate instance of Excel is if one instance is busy running a lengthy query, long-running macro job, or some other long-calculation task, I can open another instance of Excel and stay productive on other tasks instead of waiting.

For additional details about this /x trick, or other command line options that can be used to change Office program behavior, check out Command-line switches for Office applications on the Microsoft website.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.