110

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?

15 Answers 15

92

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’.

enter image description here

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/

15
  • 8
    Wow! How unobvious is that? Aug 16, 2009 at 18:50
  • 10
    Why didn't they just call the option "jowfeio woif who82r wcjnmwvo 902r3hj2 w082f8"? it would have been more obvious! If I could +5 this answer, I would. Nay, I would +10 it. THANK YOU THANK YOU!!! Mar 8, 2012 at 17:14
  • 7
    I signed up for a super user account just to upvote this answer. Thank you!
    – Neil Vass
    Nov 1, 2012 at 13:51
  • 41
    Didn't work for me (Office 2010 & Win 7). When I check the option, I can't open any Excel files: There was a problem sending the command or something similar.
    – Nolonar
    Apr 22, 2013 at 16:14
  • 18
    This answer should not be used. See When I double-click an Excel spreadsheet, Excel opens but the document doesn't as for why. Also see this answer.
    – GSerg
    Nov 6, 2013 at 11:23
18

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.

enter image description here

enter image description here

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:

enter image description here

1
  • 4
    I was unaware that middle-click opened a new instance! I skipped this answer at first but it really is clever! May 13, 2016 at 17:56
12

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.

3
  • I don't think your utility, as simple as it seems, would work if I'm opening Excel files from Outlook, right? Assuming the answer is "correct", then what would be REALLY nice is to have files that normally open in Excel actually open in a "hidden" application that can then either open the file in a new instance or somehow detect (eg SHIFT key held down?) that I want to open in an existing instance, and then if there's more than one instance, ask me which one. If you can do that, I'd buy it (for a fair price). Mar 27, 2013 at 21:02
  • You are correct: the utility will not work directly from Outlook. Your suggestion is interesting. But implementing it would make my utility way more invasive and resource intensive than I ever intended it to be. Mar 28, 2013 at 2:57
  • 1
    And now there's a better option: Just update to Excel 2016. Not free, but cures your headache from 2013.
    – TJJ
    Mar 23, 2017 at 10:10
9

I followed the guide published here.

In short:

  1. Open regedit (win+R, regedit)
  2. Browse to HKEY_CLASSES_ROOT/Excel.Sheet.12/shell/Open/command
  3. In the tab on the right:
    • Right click on (Default), select Modify..., append a space followed by "%1" (including quotes)
    • Rename command into command2
  4. In the tab on the left:
    • Just below the command folder (whose name is left untouched),
      Rename ddeexec into ddeexec2
  5. Browse to HKEY_CLASSES_ROOT/Excel.Sheet.8/shell/Open/command
  6. Repeat step 3 and 4
  7. If you want this to be valid also for csv files,
    Browse to HKEY_CLASSES_ROOT/Excel.CSV/shell/Open/command
  8. 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.

3
  • I would say this is the most effective method. Works in Excel 2010. Thanks! Feb 17, 2017 at 16:16
  • Even more effective (because it doesn't destroy copy&paste functionality): Update to Excel 2016.
    – TJJ
    Mar 23, 2017 at 10:11
  • This worked for me for Excel 2007. May 15, 2019 at 0:06
5

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.

3
  • Now that's much better! I just had to add "(x86)" to the paths in the registry file since I run on 64bit. Jan 25, 2010 at 14:56
  • Too bad, the zip file containing the scripts referred in that post is now lost...
    – Antonio
    Oct 1, 2015 at 19:30
  • 1
    @Antonio I seem to have them still lying around, but it's missing one (to remote it from context menu) and I have not tested it on newer excel versions, so use at your own risk. mega.nz/#!sANxXZiS!DM_DsD6gqiHBEUhCW7Q_7DMNy0SNHrwk8Xi4l45iVO4
    – mtone
    Oct 1, 2015 at 19:32
4

Since hyperslug's answer didn't work for me, I followed "Option B" from his link and now open a new (empty) Excel from the start menu and drag'n'drop the file I want to open into the new window.

1
  • Simple, but works - thanks, David. Unbelievable that something this simple needs to be made so difficult and counter-intuitive. Aug 7, 2015 at 3:41
4

In Office 2013 they solved this issue. Each workbook is in its own window in Office 2013.

1
  • 2
    Each book has its own window, but they all still belong to the same instance of Excel (which can be highly confusing when you have code that wants to work with multiple opened workbooks).
    – GSerg
    Nov 6, 2013 at 11:27
2

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.

1

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.

  1. Click Start, in the Search box, type regedit and press Enter.
  2. Locate the registry subkey: HKEY_CLASSES_ROOT\Excel.Sheet.14\shell\Open
  3. Delete the ddeexec subkey.
  4. 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=f1lfq?R& "%1"

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

2
  • This sounds like basically the same method as detailed here: dottech.org/26491/…. Repeat on the other various Excel.X entries to get all the possible files that Excel likes to open (CSV, xls, etc.)
    – Ben
    Jun 19, 2015 at 16:36
  • This isn't working for me. I only get a message saying "[filename].xlsx The parameter is incorrect."
    – zr00
    Oct 20, 2017 at 16:19
1

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 .xls files)):

(You may want to back up your existing HKEY_CLASSES_ROOT\Excel.Sheet.12 and 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.

1

Microsoft has patched this already. You can download the patch here:

https://support.microsoft.com/en-us/help/2636670/how-to-open-excel-files-in-separate-windows-in-windows-7

Running the patch does everything being said in the "Let me fix it myself" section.

4
  • This should be the accepted answer.
    – Öskå
    Feb 21, 2017 at 7:40
  • No, it should not. Because it doesn't fix the copy&paste problem between the two instances. There is no real fix for the problem. Only one solution: Update to Excel 2016.
    – TJJ
    Mar 23, 2017 at 10:14
  • Copy paste works. It will obviously not paste relative links to data. BTW, Office has tendency to break the stuff over time so patch this patch again.
    – lockhrt
    Mar 24, 2017 at 12:12
  • I applied this patch, and it worked for a couple weeks. Then it stopped working, and I had to apply the patch again. Oct 6, 2017 at 14:36
1

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 "%1".

1
  • This is finally what seems to be the best answer for my and many others' needs; it works and doesn't ruin associations etc. I added the below xls and csv associations as well: FTYPE XLS.FILETYPE="C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe" "%1" ASSOC .xls=XLS.FILETYPE FTYPE CSV.FILETYPE="C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe" "%1" ASSOC .csv=csv.FILETYPE
    – Nick Green
    Dec 21, 2022 at 15:55
0

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.

0

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;

  1. Open Excel
  2. Open the File Menu
  3. Click 'Options'
  4. Click 'Advanced'
  5. Scroll down to 'Display' Section
  6. 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.

0

In Excel 365, you can create a key in the registry:

  • Close all Excel instances
  • Go to HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Excel\Options
  • Create a new DWORD value called DisableMergeInstance
  • Edit the value and give a value of 1

When you click on the Excel icon, it will launch a new instance each time.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .