Monday, August 12, 2013

Open multiple excel documents in different instances of excel

default functionality for excel will open all new spread sheets in the same instance of excel. this is a special pain when you need to copy or compare spread sheets. One work-around is to open a new instance of excel and then do a file open, however this is tedious.

The solution is modify the registry to give you a new option in the right-click context menu for excel files to open these in a new instance of excel. (Cudos to http://www.online-tech-tips.com/ms-office-tips/how-to-open-a-new-instance-of-excel-2007-workbooks/ for the original article on how to do this for excel 2007)

context

Do this by putting the following code into a text file and then renaming the text file to have a .reg file extension. Backup your registry and then run the reg file. This will add the context menu option to ‘Open in New Excel Instance’.

This should work for Office 2010 and Office 2007 excel files. The code below is setup to open excel 2010 32bit on a 64bit OS. If you are running the 64bit version of office or running a 32bit OS then you need to remove any instances of “ (x86)” from the script. If you are running a different version of office than 2010 then you need to make other changes. (I’m not documenting these here for now).

So, you go from this:

oneinstance

To this:

dualexcel

The default functionality for opening excel documents is not be changed here. We are just adding the context menu item. I have tested this on Windows 7 64 and Windows XP 32bit, both running Office 2010 32bit.

DISCLAIMER: There is NO support for this and you make any registry changes AT YOUR OWN RISK.

Here’s the registry script. Enjoy!

Matt

 

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Excel.Backup\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Backup\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.OpenDocumentSpreadsheet.14\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.OpenDocumentSpreadsheet.14\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Sheet.14\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Sheet.14\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.14\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.14\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.14\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.14\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Template\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Template\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Template.8\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Template.8\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Workspace\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Workspace\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.OpenDocumentSpreadsheet.12\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.OpenDocumentSpreadsheet.12\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.12\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.12\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.SheetMacroEnabled.12\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Template\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Template\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Template.8\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Template.8\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

[HKEY_CLASSES_ROOT\Excel.Workspace\shell\Open_in_New_Excel_Instance]
@="Open in New Excel Instance"

[HKEY_CLASSES_ROOT\Excel.Workspace\shell\Open_in_New_Excel_Instance\command]
@="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""

No comments:

Post a Comment