Opening Excel Files in New Processes – Excel Launcher Helper App

Monday, June 21st, 2010

Excel Launcher 1.1 (9/1/2010)

So after some comments in the forums about my installer having problems I have updated Excel Launcher to use a new installation package (NSIS) and also made it easier to set the location of your Excel installation. NSIS did not support associating Excel files with Excel launcher so you will need to manually associate them using the technique shown at the end of this blog post. Please uninstall any existing version of Excel Launcher before installing this one.  Download Excel Launcher 1.1

  • Abandoned MS Installation package and switched to NSIS to stop bug where every time you opened a file a searching screen appeared.
  • Running Excel Launcher standalone now prompts you to set your Excel installation location every time and not just the first time

I am a multi-monitor fanatic. If  I could afford it I would have three 24″ monitors sitting on my office desk. Of course all this real estate requires good window management and fortunately Microsoft has finally improved theirs with Windows 7. Dragging windows up against the borders of a monitor causes them to fill either half or the whole monitor. This is fantastic for having side-by-side windows for work. You can also use the Windows Key + the arrow keys to quickly move windows across your monitors. Bravo!

But of course one of my most used applications does not support opening files in new processes. Excel. Why?!?! Why oh why must files always open in an existing Excel instance? This happens in other apps like Internet Explorer, but I can rip off the tabs and make them into new windows. Only Excel seems to cage me into this single window paradigm. After some googling I found a lot of people in the same boat and some very unsatisfactory workarounds including:

  • Modifying the shortcuts for all of your Excel files so that they open in a new instance – I don’t always use the same files so this is out.
  • Disabling DDE – which is no longer possible on Windows 7 and Vista
  • Dragging your Excel window to be really big and then using the internal Excel Window management – not good for multimonitor
  • Always launching a new Excel instance and choosing file -> open -> browse (sigh)

Disappointed, I resolved to manually opening new instances of Excel. But during a restless night it occurred to me – Excel does not open as a new process, but an application launcher could open new instances of Excel. What a fun programming project! I would create my own executable that would be associated with Excel file types -> xls, xlsx, csv, etc. That program would launch Excel and tell it to open the file. Bingo bango boingo we are in business.

So I sat down and within thirty minutes I had working code. I then thought it would be fun to make an installer instead of a dumb exe since there seemed to be so many people looking for this solution. Why not make it easy for them? I wish I had made it easy on myself. Four hours and many google searches later I finally have my program done and created in an installer package. In case anyone is wondering why it took so long I had to account for the fact that I am installing to the Program Files directory. With that comes access restrictions. Then I had to figure out how to read/write/store stuff to the registry. That required error handling. Auto updating research, tray application research, blah, blah blah.

Okay, enough complaining, this is what you are looking for. Download and install Excel Launcher. When you run it the first time it will prompt you for the location of your Excel application. This should be in program files or program files(x86): \microsoft office\officeXX\Excel.exe. Next associate any files that you want to open in a new Excel instance to Excel Launcher. By default XLS, XLSX and CSV files will be associated with Excel Launcher. To associate other files

  1. Right mouse button on an the file -> Open With -> Choose Default Program -> Browse
  2. Navigate to Excel Launcher.exe which should be in your program files directory
  3. Check the box for “Always use the selected program to open this kind of file.”

That’s it. Now whenever you open an Excel file it will use Excel Launcher which will create a new Excel process for you each time and open the file. As of now there is no argument passing so if you use arguments they will be ignored. If there is enough interest I may implement this for people in my copious free time.

Some ideas for improvements:

  • Prompt user to associate common file types when installing
  • Instead of storing Excel path in registry store it in an xml file in program files directory. This will allow multiple program types to leverage this functionality.
  • Allow passing of arguments through to Excel
  • Support DDE? I never really researched this so don’t even know if this is possible.

Tags: , ,

161 Responses to “Opening Excel Files in New Processes – Excel Launcher Helper App”

  1. Ben says:

    good job! Anyone interested in the functions of the pivot tables. I have just spent 3 hours with it! :) http://www.excel-aid.com/excel-compare-listpivot-table-properties-and-options.html

Leave a Reply