Monday, July 30, 2012

Excel 2007 Multi Window

Excel 2007 by default opens all workbooks in one single window and instance of Excel.  Because there is only one instance of Excel running it uses less memory.  And, when you copy and paste inside of one instance, the copy is identical to the original, since all formatting and links are shared.  However, when you want to use two screens and view two separate workbooks one in each screen, this creates a problem.  You can only maximize to one screen (not two or more screens) and switching between programs, for instance between Access and Outlook and Excel, you can wind up viewing the wrong workbook.  Much easier to have Excel running in separate instances.

You can open two instances of Excel by changing the program parameters.  Then, have one instance running in the foreground and open a spreadsheet.  Minimize that instance, open a new instance of Excel, then open another spreadsheet.  However, this is a cumbersome work-around, and when you want to open 3 or 5 instances it becomes a royal pain in the you-know-what.

I went looking for an answer.  This is what works in Windows XP with Excel 2007.  I lifted and modified this from comments at http://brett.batie.com/software-development/open-excel-in-two-windows-excel-2007-vista/.


Windows Registry Editor Version 5.00

; ----------------- This file is intended to allow dual screen working in Excel 2007 ONLY -----------------
; ---- It will not work for earlier version of Excel and modifies the registry so please use carefully ----
; Changes the /e to "%1" in the default and command keys to fix the issue that stops Excel opening .xls files
[HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE\" \"%1\""
"command"=hex(7):76,00,55,00,70,00,41,00,56,00,36,00,21,00,21,00,21,00,21,00,\
  21,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,43,\
  00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,74,00,57,00,7b,00,7e,00,\
  24,00,34,00,51,00,5d,00,63,00,40,00,49,00,49,00,3d,00,6c,00,32,00,78,00,61,\
  00,54,00,4f,00,35,00,20,00,22,00,25,00,31,00,22,00,00,00,00,00
; Deletes the ddeexec key and sub keys to stop Excel using DDE to open the .xls files
[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec]
[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec\application]
[-HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\Open\ddeexec\topic]
; Changes the /e to "%1" in the default and command keys to fix the issue that stops Excel opening .xlsx files
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\command]
@="\"C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE\" \"%1\""
"command"=hex(7):76,00,55,00,70,00,41,00,56,00,36,00,21,00,21,00,21,00,21,00,\
  21,00,21,00,21,00,21,00,21,00,4d,00,4b,00,4b,00,53,00,6b,00,45,00,58,00,43,\
  00,45,00,4c,00,46,00,69,00,6c,00,65,00,73,00,3e,00,74,00,57,00,7b,00,7e,00,\
  24,00,34,00,51,00,5d,00,63,00,40,00,49,00,49,00,3d,00,6c,00,32,00,78,00,61,\
  00,54,00,4f,00,35,00,20,00,22,00,25,00,31,00,22,00,00,00,00,00
; Deletes the ddeexec key and sub keys to stop Excel using DDE to open the .xlsx files
[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec]
[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec\application]
[-HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open\ddeexec\topic]


This can be copied and pasted into a .reg file.  

Open the registry and navigate to HCR\Excel.Sheet.8 and Export it, then go to .Sheet.12 and export that.  Then import the new .reg file.

NOTES:  If you do not understand ANY part of the above do NOT attempt this.  Go find someone who does understand it and who can explain it to you.

MORE NOTES:  I have reposted this for my own use (preparing for the next time my PC is re-imaged/upgraded/messed with by someone in IT.  Use at your own risk.  Understand the implications before doing this.  You will lose some functionality and benefits intended by Microsoft.