When I have Excel running and I double click an Excel file in Windows explorer, I'd like it to launch in a new window by default so that I can move documents to separate monitors. Is there any way to get this behavior?
I've had this problem too. Here's what I did:
In Excel 2003, go to Tools -> Options -> General tab.
Make sure the option, ‘Ignore other applications’ is checked.
In Excel 2007 & 2010, Click the Office button -> Excel Options -> Advanced.
Under General, check ‘Ignore other applications that use Dynamic Data Exchange’.
I don't know why this isn't built in. Source: http://www.lytebyte.com/2008/05/13/how-to-open-two-excel-files-side-by-side-in-separate-monitors/
It's a bit back to front, and will work for any program not just Excel, but I middle-mouse-button click the Excel icon in the Windows 7 Taskbar and create a new instance of Excel, then open the documents in each instance of Excel.
Once your have multiple instances of Excel running you can arrange them side by side by holding down Shift and right clicking on the icon:
There are certain disadvantages to having all your workbooks opened in different windows. For one thing, if you write a formula in one workbook which references another, it will include the full file path of the other workbook. For another, copy/pasting from one workbook to another reduces the number of options available for the destination data, like keeping the column widths, etcetera. It's possible that for your purposes those things won't matter much, but basically if you experience any "weird" behavior when using multiple workbooks in multiple windows, you might try opening them in the same window to see if the weirdness goes away.
My preference is to leave the default behavior to open Excel workbooks in the same window, and when I want individual workbooks opened in different windows I right-click the file and select "Open in new window". In order to do that, I wrote this small utility. It's free. Feel free to install it.
I followed the guide published here.
- Open regedit (win+R, regedit)
- Browse to
- In the tab on the right:
- Right click on
Modify..., append a space followed by
- Right click on
- In the tab on the left:
- Just below the
commandfolder (whose name is left untouched),
- Just below the
- Browse to
- Repeat step 3 and 4
- If you want this to be valid also for csv files,
- Repeat step 3 and 4 (or just repeat step 6 :) )
This worked for Microsoft Excel 2007. In case of update you might have to repeat these steps.
I personally liked this manual approach because is reversible. With respect to some of the other proposed solutions, I love the fact that you can so easily open 2 files with the same name.
Excel 2007: If you have access to edit your windows registry, here are a few registry files that add the option to open in a new instance (either by default or not) when you right-click on your files so you can use both functionalities.
There is a .reg file to 'uninstall' it as well. Tried and tested in excel 2007 (32-bits windows). I believe the technique is the same as in hyperslug's answer: DDE or not.
Here's another set of registry files I (which I created) to solve the same problem: http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Excel/A_1007-Option-to-open-excel-2007-documents-in-a-new-instance.html?sfQueryTermInfo=1+30+excel+instanc+new
Gives a right click menu to open excel files in a new instance, and optionally makes it the default behavior, but still leaves the option to open it in an existing instance if the workbooks need cutting and pasting with formatting between them.
finally one regedit instruction that works for my windows 7 and excel 2010
To launch multiple instances of Excel, we change it by not using DDE to open the file. Check the "Ignore other applications that use Dynamic Data Exchange (DDE)" box in Excel -> Excel Options -> Advanced
If this does not work,for Windows Vista and Windows 7, we need to edit the registry to remove DDE completely. =============== Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs.
- Click Start, in the Search box, type regedit and press Enter.
- Locate the registry subkey: HKEY_CLASSES_ROOT\Excel.Sheet.14\shell\Open
- Delete the ddeexec subkey.
- Click on the command subkey, and then double-click the Default value from the right pane. Replace the value data with: "C:\Program Files\Microsoft Office\OFFICE14\EXCEL.EXE" "%1" Double-click the Command string value, replace its data with: (f'^Vn-}f(ZXfeAR6.jiEXCELFiles>!De@]Vz(r=f
Thank you to sally tang , on this forum https://social.technet.microsoft.com/Forums/office/en-US/ee76d08d-3306-406d-894c-16fd3cb824d9/each-workbook-in-separate-windows-excel-2010-windows-7?forum=excel
Another solution is to merge a
.reg file with the following content into Window's registry (change the path to
EXCEL.EXE according to the version and installation path you have and add any additional file types you want to remap (
Excel.Sheet.12 is for
.xlsx files and
Excel.Sheet.8 is for
(You may want to back up your existing
HKEY_CLASSES_ROOT\Excel.Sheet.8 branches (via
regedit.exe's export) in case you want to revert this change.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Excel.Sheet.12] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell] @="Open" [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Edit] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Edit\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Edit\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" /r \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\ViewProtected] [HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\ViewProtected\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\ViewProtected\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.8] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell] @="Open" [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Edit] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Edit\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Edit\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" /r \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\ddeexec] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\ViewProtected] [HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\ViewProtected\command] @="\"C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\"" command=- [-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\ViewProtected\ddeexec]
If, after applying this file, you want to open another file in the same window, use the file menu to open another file and it will open in the current window.
Microsoft has patched this already. You can download the patch here:
Running the patch does everything being said in the "Let me fix it myself" section.
This thread is old, but the problem is persistent! Hyperslugs solution didn't work for me, but I found a nifty launcher application that middle-mans the opening of excel documents and forces new instances. It can be found here http://blog.thomascsherman.com/2010/06/opening-excel-files-in-new-processes-excel-launcher-helper-app/ . I hope this helps someone with this annoying problem.
I use Excel 2010, and wanted to open a new instance for the purpose of being able to easily switch between spreadsheets. I use Alt+Tab which doesn't work with excel's default settings. If this is the main reason you wish to open a new instance for each spreadsheet, it can be resolved by;
- Open Excel
- Open the File Menu
- Click 'Options'
- Click 'Advanced'
- Scroll down to 'Display' Section
- Check the "Show all windows in the Taskbar" box
This makes it easier to switch between spreadsheets, but if you're looking to view two spreadsheets simultaneously (i.e. if you have multiple monitors) you will still have to open a new instance of excel and open the file from within that instance.
Disabling DDE seems like the best option, but as others have pointed out, that causes Excel to open a blank window when you try to open a spreadsheet through Windows Explorer. If you usually open spreadsheet through Windows Explorer, I found that the best option is to re-associate the extensions and specify your own command.
To do that, open command prompt as an administrator and run the following commands (modifying the path to match your Office install):
C:\WINDOWS\system32>FTYPE XLSX.FILETYPE="C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe" "%1" C:\WINDOWS\system32>ASSOC .xlsx=XLSX.FILETYPE C:\WINDOWS\system32>FTYPE XLSM.FILETYPE="C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe" "%1" C:\WINDOWS\system32>ASSOC .xlsm=XLSM.FILETYPE
This will cause a new window to open whenever you double-click an Excel file. It also fixes the behavior when you right-click the Excel icon and select a recent spreadsheet. However, it will not fix the behavior when you open a spreadsheet through the Open dialog in Excel -- those will still open in the same window.
NOTE: If you place the above commands in a batch file, you will need to use
"%%1" in place of