症状
在 Office 文档中创建一个超链接之后单击该链接时,你可能会收到下面的错误消息之一:
无法打开 <URL>。 找不到 Internet 服务器或代理服务器。
无法打开 <URL>。 无法打开指定的文件。
<URL> = 插入的超链接。
注意
如果直接在浏览器中键入超链接,或者在“运行”对话框的“打开”框中键入超链接, (选择“ 开始”,然后选择“ 运行) ”。
原因
如果存在以下情况,则会发生这种问题:
您正在使用 Microsoft Internet Explorer:
- 作为代理服务器 -或-
- 使用不允许在本地网络上放置 HTTP 请求的防火墙
Internet Explorer 不是默认浏览器。
以下位置中不存在 ForceShellExecute 注册表项,或者未设置为 1:
对于安装在 64 位操作系统上的 32 位版本的 Office:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\9.0\Common\Internet
对于安装在 32 位操作系统上的 32 位版本的 Office 或安装在 64 位操作系统上的 64 位版本的 Office:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\Common\Internet
注意
注册表路径不依赖于 Office 版本。
解决方法
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号以查看 Microsoft 知识库中的相应文章:
322756 如何在 Windows 中备份和还原注册表
将 Internet 子健添加到注册表并设置数值数据
要解决此问题,请添加 ForceShellExecute 子键(如果不存在)并设置数值数据,或者如果存在,则设置 ForceShellExecute 子键的数值数据。
退出正在运行的所有程序。
选择“开始”,然后选择“运行”。 在“打开”框中键入 regedit,然后选择“确定”。
在“注册表编辑器”中,找到以下子项之一(如果这些项不存在,请创建它们):
对于 64 位版本 Windows 上的 32 位版本 Office:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\9.0\Common\Internet
对于 32 位版本 Windows 上的 32 位版本 Office:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Common\Internet
对于 64 位版本 Windows 上的 64 位版本 Office:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Common\Internet
确保选择了 Internet 子键。 在 “编辑” 菜单上,指向“ 新建”,然后选择“ DWORD 值”。 添加以下注册表值:
数值名称:ForceShellExecute
双击“ForceShellExecute”,然后将该数值数据设置为 1。 选择“确定”。
在“注册表”菜单上,选择“编辑”。
问题是否已修复?
检查问题是否已修复。 如果问题已修复,则已完成此部分。 如果问题未修复, 请联系支持人员。
更多信息
使用此替代方法后,单击超链接可能不会转到 Microsoft Word 文档或 Microsoft Excel 工作表。
Office 使用 Urlmon.dll 文件来处理所有 Internet 转换。
在这种情况下,Urlmon.dll 文件通过代理服务器发送获取文件 http://
的请求。 代理服务器根据 http://request
的 HTTP 用户代理字段看到请求来自 Internet Explorer。 然后它给出一个错误 403,内容基本为“访问被拒绝”。
Urlmon.dll 文件获取此信息,并仅返回前面提到的错误消息。 该错误意味着请求失败,但它从未说明失败的原因。
解决方法是在 URL 中使用 ShellExecute()。 这允许操作系统在默认浏览器上启动 URL。 如果默认浏览器不受代理服务器限制,则会显示正确的页面。