I've gotten this same thing to work with FireFox using a different technique. In my case, Excel generates DOT for GraphViz, which generates .svg for FireFox.
The technique for links is kinda ugly in that it requires a lot of little files, but runs plenty fast. You need to choose a new file type, or hijack an existing seldom used file type, like .xyz. You write a file for each and every separate node or edge in the svg that you want to go back to a different cell of Excel. The contents of the file stores the name of the file(workbook), the worksheet, and the cell reference. I just put each on their own line. You create one vbscript (.vbs) as a separate script file, this will be your application. This vbscript takes one parameter, which is the name of the file, and what it does is open the file, read the workbook name and the worksheet name and the cell reference therein to send commands to excel to bring up that workbook, worksheet and cell. You'll then need to associate your vbscript application with the file type (e.g. .xyz) in FireFox. Use Tools->Options->Applications. This can be tricky, because you have to actually type the name of the vbs file instead of browsing to it (you can browse to the folder, then switch to typing)! The node & edge links can be passed thru the .svg (in my case through DOT via the URL tag); links in the svg should point to an appropriate local generated file (e.g. one of the .xyz files) using the file:/// form.
Then when you click on a link in the .svg, FireFox will launch the local vbscript as the application with the file name as the parameter. The vbscript reads the contents of the file, locates Excel, and sends it commands to active the right location. After all of that, the script can bring excel to the front.
This snippet of vbscript will get the command line argument:
arg = Wscript.Arguments(0)
This snippet of vbs will find the running copy of Excel:
Set objExcel = GetObject(, "Excel.Application")
Use these kind of commands to read the file:
Set objFSO = CreateObject("Scripting.FileSystemObject")
wkbName = objFSO.ReadLine
wksName = objFSO.ReadLine
Use these kind of commands to send messages to Excel:
objExcel.Visible = True
wkb = objExcel.Workbooks(wkbName)
wkb.Activate
wks = wkb.Worksheets(wksName)
wks.Activate
wks.Rows(rowNum).Select
This snippet will bring excel to the front (tested on win 7):
set objWsh = CreateObject("Wscript.Shell")
objWsh.AppActivate objExcel.Name
(Oddly Wscript.Shell.AppActivate objExcel.Name doesn't!)