Running Excel 2013 in a separate instance #excel #powerpivot

The new Excel 2013 preview is publicly available and it introduces many new features, like an integrated version of PowerPivot and Power View. These two add-ins are automatically installed but not enabled by default. You just have to go in Excel Options / Add-Ins and choose COM Add-ins from the Manage combo box, then press the Go… button; at this point, you can enable both PowerPivot and Power View add-ins. There are many other posts in the blogosphere that describe the feature and the capabilities of these two tools, and I will cover some deeper consideration about specific new features in the future. In this post, I just want to highlight a new behavior of Excel that is not directly related to these add-ins, but still may affect their behavior.

One important new feature of Excel 2013 is that it no longer supports MDI (Multiple Document Interface) and it now uses the SDI (Single Document Interface) paradigm, just following a trend that other Office applications, like Word, started a few years ago. With this new behavior, every Excel document opens a window handled by the same Excel process. This is not different from previous versions of Excel and corresponds to the behavior you experienced whenever you loaded more documents within the same Excel process. However, until Excel 2010 it was very easy to create a separate Excel process so that it was possible to manipulate a document during a complex calculation in another workbook. Fundamentally, every time you opened a new Excel window, you always obtained a new Excel process and the same Excel process would have been used only by opening an existing document when another Excel document were already opened.

Usually having multiple documents within the same process can save several resources (RAM in particular). However, this approach can also block user interaction whenever a long and complex calculation is requested to Excel. In order to solve this issue, you may decide to explicitly open a new Excel instance, so that a long running operation on one Excel document does not block user interaction with other documents.

With Excel 2013, the default you have is to create a new window within the existing Excel process. In order to force the creation of a separate instance of the Excel process, you have these options:

  • From the command prompt, run EXCEL /X and you will open Excel window as a new instance. The /X command switch forces the creation of a new instance.
  • Right click on the Excel Tab in Windows taskbar keeping the ALT key pressed. And without releasing the ALT key, click on “Microsoft Excel 2013” option from the context menu. Excel will ask you if you require opening Excel as a new instance. You might press YES.
    • Please not you cannot use this technique to open an existing document – you have to create the new Excel process first, and then open the existing workbook from there

Knowing this technique can be particularly important if you are a PowerPivot user, especially if you use a 32-bit version of Excel. All PowerPivot data of different workbooks are loaded within the same virtual address space, which is limited to 2 or 3Gb in a 32-bit application. If you want to avoid being short on RAM with complex models and you want to be able to isolate a long running calculation without blocking you from using Excel with another workbook, knowing how to create a separate Excel instance is an important skill you need in Excel 2013.