Bagikan melalui


The Long Road: Problems with hyperlinking Office Documents in Excel

When you create a hyperlink to another Office document in Excel 2007 or 2010 and click to follow that hyperlink, you expect the document to open. In some cases, however, you may receive an error: "Cannot locate the Internet server or proxy server". A quick BING search reveals KB Article 218153 (https://support.microsoft.com/kb/218153). This article directs you to add the "ForceShellExecute" registry value to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\9.0\Common\Internet. And this does take care of that problem. But then another arises.

You may find after applying the ForceShellExecute value that you aren't able to open a hyperlink to an Office document from Excel. Now instead of getting the error, nothing happens. You may get a spinning cursor that does nothing. Fear not! This problem is addressed in two KB Articles. If you're on Excel 2007 then you want to follow KB Article 2596545 (https://support.microsoft.com/kb/2596545) and obtain the hotfix therein which will fix this problem. If you're on Excel 2010, the hotfix is here (https://support.microsoft.com/kb/2597142). There are multiple fixes in this article but most notably is the one where Excel documents contain hyperlinks that do nothing when clicked.  In this article we change the way Excel handles DDE requests to open Office documents. And then after applying either of these fixes, there's one more annoyance that you may or may not be able to live with. You may receive this pop up each time you click the link:

While this dialog isn't a bug, it can certainly be annoying. To get rid of this dialog you need to set the following registry key accordingly:

 

  1. Click START > RUN and type REGEDIT and click OK
  2. Navigate to HKEY_CLASSES_ROOT\Excel.Sheet.12

(don’t let the 12 in the above fool you, this applies to Excel, 2010 as well)

On the right look for a value called “EditFlags” – this should be a REG_BINARY key type. Double click it. By default the value is 00 00 00 00 but you want to set it to 00 00 01 00

Once setting this value you will need to close Excel and re-open it. But this will only suppress the dialog for XLSX files. To make the dialog not show up for other files types, you would need to set the EditFlags value above to the following registry keys:

If the EditFlags key doesn’t exist it needs to be created – like under HKEY_CLASSES_ROOT\Excel.CSV - by default there isn’t an EditFlags value so it must be created. The following is a list of the file types and their corresponding registry keys:

XLSB - HKEY_CLASSES_ROOT\Excel.SheetBinaryMacroEnabled.12

XLT - HKEY_CLASSES_ROOT\Excel.Template.8

XLTM - HKEY_CLASSES_ROOT\Excel.TemplateMacroEnabled

XLAM - HKEY_CLASSES_ROOT\Excel.AddInMacroEnabled

XLA - HKEY_CLASSES_ROOT\Excel.Addin

CSV - HKEY_CLASSES_ROOT\Excel.CSV

ODS - HKEY_CLASSES_ROOT\Excel.OpenDocumentSpreadsheet.12

SLK - HKEY_CLASSES_ROOT\Excel.SLK

XLL - HKEY_CLASSES_ROOT\Excel.XLL