選取 Office 中的超連結時出現錯誤訊息:「無法找到網際網路伺服器或 proxy 伺服器」

徵狀

當您在 Office 文件中建立超連結,然後按一下該連結時,可能會收到下列其中一則錯誤訊息:

無法開啟 <URL>。 找不到因特網伺服器或 Proxy 伺服器。

無法開啟 <URL>。 無法開啟指定的檔案。

<URL> = 您插入的超連結。

注意事項

如果您直接在瀏覽器中輸入超連結,或在 [執行] 對話方塊中 (選取 [ 開始], 然後選取 [執行) ],超連結就會正常運作。

原因

當下列情況都成立時,就會發生這個問題:

  • 您使用 Microsoft Internet Explorer:

    • 作為 Proxy 伺服器 -或-
    • 使用不允許在局域網路上放置 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 子機碼的資料值。

  1. 結束任何正在執行的程式。

  2. 選取 [開始],然後選取 [執行]。 在 [開啟] 中輸入 regedit,然後選取 [確認]

  3. 在 [登錄編輯程式] 中,瀏覽至下列其中一個子機碼 (若不存在,請自行建立機碼):

    • 若為 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

  4. 務必要選取網際網路子機碼。 在 [ 編輯] 功能表上,指向 [ 新增],然後選取 [DWORD 值]。 新增下列登錄值:

    數值名稱:ForceShellExecute

  5. 連按兩下 ForceShellExecute,然後將 [數值資料] 設定為 1。 選取 [確定]

  6. 在 [登錄] 功能表中選取 [離開]。

這樣是否已修正問題?

檢查該問題是否已修正。 如果問題已修正,您已完成本節。 如果問題未修正,請 連絡支持人員

其他相關資訊

使用上述解決方法之後,超連結便不會跳到 Microsoft Word 文件或 Microsoft Excel 工作表中。

Office 使用 Urlmon.dll 檔案處理所有網際網路轉換。

在此情況下,Urlmon.dll 檔案會傳送要求,以透過 http:// Proxy 伺服器取得檔案。 Proxy 伺服器可根據 http://request 的 HTTP 使用者代理人欄位,看到要求來自 Internet Explorer。 然後發出錯誤 403,基本上表示「拒絕存取」。

Urlmon.dll 檔案取得此錯誤後,只會傳回稍早提及的錯誤訊息。 該錯誤表示要求失敗,但其從未說明失敗的原因。

因應措施是在 URL 上使用 ShellExecute()。 這可讓作業系統在預設瀏覽器上啟動 URL。 如果 Proxy 伺服器未限制預設瀏覽器,則會顯示適當的頁面。