I got the same for working with FireFox using a different technique. In my case, Excel generates a DOT for GraphViz, which generates .svg for FireFox.
The linking technique is pretty ugly in that it requires a lot of small files, but it works very fast. You need to select a new file type or capture an existing rarely used file type, such as .xyz. You write a file for each individual node or edge in svg that you want to return to another Excel cell. The contents of the file stores the name of the file (workbook), worksheet, and cell reference. I just put each on my 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 name of the book and the name of the worksheet and a link to a cell in it to send commands, to succeed to open this book, the worksheet and cell, then you need to associate the vbscript application with the file type (e.g. .xyz) in FireFox. Use Tools-> Options-> Applications. This can be tricky because you must actually enter the vbs file name instead of looking at it (you can go to the folder and then switch to input)! The node and edge links can be passed through .svg (in my case, through the DOT via the URL tag); links in svg should point to the corresponding locally generated file (for example, one of the .xyz files) using the file form: ///.
Then, when you click on the link in .svg, FireFox will run local vbscript as an application with the file name as the parameter. Vbscript reads the contents of the file, finds Excel and sends it commands to activate the correct location. After all this, the script can bring excel to the forefront.
This vbscript snippet will receive a command line argument:
arg = Wscript.Arguments (0)
This vbs snippet will find the current copy of Excel:
Set objExcel = GetObject (, "Excel.Application")
Use these commands to read the file:
Set objFSO = CreateObject ("Scripting.FileSystemObject")
wkbName = objFSO.ReadLine
wksName = objFSO.ReadLine
Use these commands to send messages to Excel:
objExcel.Visible = True
wkb = objExcel.Workbooks (wkbName)
wkb.Activate
wks = wkb. Bookmarks (wksName)
wks.Activate
wks.Rows (rowNum). Select
This snippet will bring Excel to the forefront (tested on winning 7):
set objWsh = CreateObject ("Wscript.Shell")
objWsh.AppActivate objExcel.Name
(Odd Wscript.Shell.AppActivate objExcel.Name not!)