Solution:
A simple registry edit in HKEY_CURRENT_USER
(which most Standard User Windows accounts should have read/write access to!) will resolve the problem.
First, Save the following data into a text file:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.12]
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.12\shell]
@="OpenNewWindow"
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.12\shell\OpenNewWindow]
@="&OpenNewWindow"
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.12\shell\OpenNewWindow\command]
@="\"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
"command2"=hex(7):78,00,62,00,27,00,42,00,56,00,35,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,56,00,69,00,6a,00,71,00,\
42,00,6f,00,66,00,28,00,59,00,38,00,27,00,77,00,21,00,46,00,49,00,64,00,31,\
00,67,00,4c,00,51,00,20,00,00,00,00,00
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.8]
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.8\shell]
@="OpenNewWindow"
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.8\shell\OpenNewWindow]
@="&OpenNewWindow"
[HKEY_CURRENT_USER\Software\Classes\Excel.Sheet.8\shell\OpenNewWindow\command]
@="\"C:\\Program Files\\Microsoft Office\\Office14\\EXCEL.EXE\" \"%1\""
"command2"=hex(7):78,00,62,00,27,00,42,00,56,00,35,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,56,00,69,00,6a,00,71,00,\
42,00,6f,00,66,00,28,00,59,00,38,00,27,00,77,00,21,00,46,00,49,00,64,00,31,\
00,67,00,4c,00,51,00,20,00,00,00,00,00
Second, rename the text file with the .reg
extension (NOT .reg.txt
!).
Third, double-click the file, and click Yes at the prompt, then OK at the second prompt. It should look something like this:
Fourth, close all open instances of Excel (you may have to restart your computer or look in Task Manager if there are hidden open instances).
Fifth, try opening files by double-clicking them in Windows Explorer, or by clicking on a hyperlink in an email or document. Each workbook file should open in a separate instance of Excel, independently controllable, rather than in the single-window MDI interface.
If there are specific files that you want to open in the same instance as the most recent instance of Excel, you can right-click the file and select the "Open" option (not OpenNewWindow).
Best Answer
Short answer, no. Excel has no option to open an url with another program than specified by the system as default.
Excel will threat an url by simply doing: Start url (aka using DDE extension to open the url with whatever is set as default program).
Using a VB Macro, you can however create a custom link that'll launch the link with IE.
It will require a bit of programming and is not easy, and you may have to edit all cells and remove the hyperlink and save the link as text alone in that box for it to work properly.
Although SuperUser is not a scripting site (and a new question specifically for programming should be asked at StackOverflow if you're going to do it that way), you'd be trying to do it as follows.
Launch a macro everytime any cell is clicked (function Sheet1_clicked()) I believe is the event. Then break out of the function if the column is not the column you have your urls in, or alternatively, if the cell does not start with #URL:. You can even check if the next column has this value, so you can effectively hide that column, and make the column before it the event clicking one. You can use a conditional forward to check if the next cell has any text, and if so using colors, show a "click me" text.
Now, in the script itself, you'd program to launch IExplore.exe with the url.