文章編號: 838028 - 上次校閱: 2005年10月4日 - 版次: 1.0

如何使用 Office 2003 從網站中開啟文件

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

簡介

本文將告訴您,Microsoft Office 2003 如何使用超連結或是 Microsoft Internet Explorer 中的 Web 資料夾,開啟 Microsoft Office Word 2003 文件、Microsoft Office Excel 2003 試算表與 Microsoft Office PowerPoint 2003 簡報。這個過程牽涉到幾個加強 Web 共同作業的附加元件。這些附加元件可能影響現有依賴之前 Office 行為的網站解決方案。這裡提供的資訊,專為想更瞭解 Office 如何處理,來自 HTTP 資源的文件下載與編輯技術過程的網站解決方案開發人員所設計。

其他相關資訊

Office 2003 設計為提供更適合共同作業的工作環境。所以,對 Office 2003 如何處理網站內容有幾個變更。這些變更幫助建立網站解決方案,讓 Office 文件完全相容於 Office 2003 系統。本文從技術觀點來說明這些變更。這些變更為下列支援 Office 2003 的 Web 伺服器提供更佳的製作功能:
  • Microsoft Windows Sharepoint Services
  • Microsoft SharePoint Portal Server
  • Microsoft Exchange Web Store
注意 Office 一詞適用於下列產品:
  • Microsoft Office Word 2003
  • Microsoft Office Excel 2003
  • Microsoft Office PowerPoint 2003
「文件」一詞適用於任何可以在 Word 2003、Excel 2003 或 PowerPoint 2003 中開啟的檔案或範本,不論檔案格式為何。

在 Office 2003 中使用 HLINK 與 URLMON 的超連結

就像先前版本的 Office,Office 2003 使用來自 Internet Explorer 對外公開 URL Moniker 元件的 OLE 介面 (Urlmon.dll),來實作超連結行為。URLMON 提供的 API 讓 Office 處理 URL 資源就像在 Office 中處理任何 OLE 連結來源一樣。此外,URLMON API 同時提供方法以進行非同步導覽、重新導向或是在處理程序之間共用內容。

為了處理導覽歷史記錄以及回溯相容性,Office 使用 Microsoft Hyperlink Library (Hlink.dll) 公開的介面來建立超連結、繫結超連結以及移動至超連結。HLINK 是 URLMON 公開功能的高層包裝函式。HLINK ? Office 應用程式提供一個公共架構,以處理超連結行為的基本工作。

從 Internet Explorer 開啟 Office 文件

當您在 Internet Explorer 中的網頁上按一下指向 Office 文件的超連結時,主框架透過 URLMON 導覽至超連結資源。URLMON 透過使用 HTTP GET 命令來下載檔案內容。在 URLMON 取得資源後,URLMON 會查看下列三個位置中的任一個來識別內容類型:
  • 在 HTTP 標頭中指定關聯的 MIME 類型
  • 在結構化存放文件中儲存的原本 CLSID
  • 檔案副檔名 (如果在 URL 字串中保留檔案副檔名)
如果類型與某個 Office 應用程式相關聯,則 URLMON 會建立目標應用程式的 OLE 執行個體。URLMON 提示 OLE 執行個體透過使用 OLE 物件的 IPersistMoniker 介面來載入內容。URLMON 將自己?資源建立的 URL Moniker 傳遞給 Office。然後,Office 將此 URL Moniker 包裝到新的 HLINK 物件中。在 URL Moniker 繫結到 HLINK 物件後,Office 即可載入文件,然後對使用者顯示檔案。

從 Moniker 載入,然後使用 HLINK 和 URLMON 繫結到 Web 內容的完整過程,已超出本文的討論範圍。如需有關此過程在程式設計方面的詳細資訊,請參閱 Microsoft Developer Network 上的文件。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
178853? (http://support.microsoft.com/kb/178853/ ) SAMPLE:HLINKAXD demonstrates a hyperlinking active document
這種方法有一個重大缺點。由 Internet Explorer 提供的 URL Moniker 通常是唯讀的。您可以開啟與修改內容,但無法將內容儲存回伺服器。當您將內容儲存回由 Moniker 提供的存放位置時,您所做的修改會套用至 Internet Explorer 中 [Temporary Internet Files] 快取的內容。但是,您所做的修改並不會套用至 Web 伺服器上的內容。?了解?這個缺點,在 Office 2000 及更新的版本中導入發佈 Moniker 的概念。

使用 MSDAIPP 讓 URL Moniker 擁有讀取和寫入存取權限

由於 Office 2000 的推出,URLMON 的功能擴充為可支援對發佈伺服器的完整寫入存取,這個發佈伺服器支援 FrontPage Server Extensions (FPSE) 或是 HTTP 1.1 擴充命令,以進行「網路分散式撰寫及版本處理」(Web Distributed Authoring and Versioning,WebDAV)。

透過使用對 URLMON 通訊協定提供程式擴充功能,達到對完整寫入存取的支援。對 URLMON 通訊協定提供程式擴充功能,允許透過 Internet Publishing Provider (Msdaipp.dll) 名稱為 Microsoft OLE DB Provider 的元件進行繫結。透過對 URLMON 使用一組旗標,主機可透過一個使用 MSDAIPP 的專用 URL Moniker 類型要求進行繫結。Office 稱此?發佈 Moniker。發佈 Moniker 使用 MSDAIPP 來直接在伺服器上開啟與儲存內容。這是擴充 URLMON 功能的重要一步。

但這有一個缺點。MSDAIPP 元件使用自己的 Windows Internet (WININET) API 工作階段,而不是由 Internet Explorer 本身使用的工作階段。因此,非持續性的工作階段資訊 (例如伺服器 Cookie) ,在 MSDAIPP 要求中不可使用。這使得一些伺服器要求再次身分驗證或再次導覽到 URL 以便 MSDAIPP 與那些伺服器通訊。另外,?了避免取得可能已由其他使用者更改的「過時」資料,MSDAIPP 在成功鎖定寫入存取的 Web 內容後,將重新擷取 Web 內容。這會造成向 Web 伺服器進行第二次 HTTP GET 要求或第二次 FPSE POST 要求,以取得文件內容。

?了暫時解決這個缺點,在 Office 2000 Service Release 1 中導入一種經過修改的方法。取代過去在載入時嘗試透過使用發佈 Moniker 進行繫結,新的方法讓 Office 透過使用 Internet Explorer 提供的一般唯讀 URL Moniker 繫結到文件。如果伺服器支持 Web 發佈,當您想要儲存檔案時,Office 會嘗試切換到發佈 Moniker 來執行儲存回伺服器的工作。如果因為工作階段中的變更而要求重新驗證,則會在儲存時而不是開啟時提示您輸入認證。如果您只需要讀取檔案而不要儲存檔案,Office 可以避免耗費大量時間,切換內容到發佈 Moniker 。Office 同時還避免資源遭伺服器鎖定。這是一種折衷的方法。

如需有關?了降低因使用發佈 Moniker 內容而開啟 Web 文件的影響,而對 Office 2000 Service Release 1 所做的變更的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
185978? (http://support.microsoft.com/kb/185978/ ) FIX:Double GET requests and cookies are lost with Word 2000 or Excel 2000
266263? (http://support.microsoft.com/kb/266263/ ) BUG:Word 2000 and Excel 2000 display ASP source when using MIME type to stream data
247318? (http://support.microsoft.com/kb/247318/ ) BUG:Word 2000 and Excel 2000 do not redirect correctly when using Response.Redirect
264143? (http://support.microsoft.com/kb/264143/ ) FIX:ASP session variables empty when Office 2000 MIME types are streamed with Internet Explorer

辨識早期的 Office 版本使用方法中的缺點

Office 2000 Service Release 1 和 Office XP 使用的折衷方法,很適用於瀏覽文件及將這些文件儲存至伺服器。然而,這個折衷方法有缺點。當 Web 開發人員建立更複雜的 Web 架構文件管理系統,以希望更緊密地與 Microsoft Office 整合時,這個缺點會更加嚴重。

最重要的缺點是,內文切換會發生延遲,直到使用者嘗試儲存或執行某些需要寫入存取的明確動作為止。在第一個使用者開啟檔案期間,文件資源未鎖定,且可能被其他使用者或其他處理程序變更。如果第一個使用者嘗試要儲存,第二個使用者所做的變更就會遺失。或者是,第一個使用者面臨選擇要放棄他們所做的變更,而且不知道第二個使用者做了哪些變更。

由於直到切換內容發生為止,使用者的製作權限不明,這將導致另一個缺點。除非使用者發出儲存檔案的實際要求,否則使用者不知道他沒有權限儲存檔案。在使用者開啟檔案進行編輯之前,他必須知道自己沒有儲存檔案的權限。在 Office 2000 Service Release 1 中採用的方法就是?了解?這一缺點。

辨識 Office 2003 超連結處理程序的變更

越來越多的使用者,透過 HTTP 企業網路,使用 Office 做為文件共同作業的前端。所以,之前方法的缺點更形嚴重。需要有新的方法來偵測,在共用文件與瀏覽文件之間的差異。Office 2003 導入新的功能來處理超連結以暫時解決這個缺點。

瞭解 Microsoft Office Protocol Discovery

當 Office 應用程式收到開啟 Web 資源的要求時,Office 應用程式必須做出下列決策,以決定開啟 Web 資源的方式:
  • 從 Internet Explorer 下載的內容中以唯讀方式開啟資源。內容以瀏覽模式開啟。
  • 在伺服器以獨佔存取的方式鎖定文件,開啟資源進行讀/寫。內容以編輯模式開啟。
調查文件來源的資料夾路徑,以及調查伺服器管理該路徑的功能,來決定開啟 Web 資源的方式。為了判斷伺服器支援哪些功能,Office 2003 會發出 HTTP 1.1 標準 OPTIONS 命令。OPTIONS 命令要求伺服器對於文件所在的資料夾,識別伺服器可以支援的命令以及方法。根據 RFC 2616 列出的規則完成伺服器識別的動作。與 HTTP 1.1 相容的 Web 伺服器,利用統一資源識別項 (URI) 支援的方法清單來回應 OPTIONS 要求。Office 評估回應並尋找下列內容:
  • Web 製作通訊協定

    如果伺服器針對 MS-AUTHOR-VIA 標頭值或與「分散式撰寫及版本處理」(Distributed Authoring and Versioning) 一致的方法清單做出回應,則 Office 知道可透過指定的通訊協定,將該文件儲存回 Web 伺服器中。

    目前可以使用的通訊協定是 Web Extender Client (WEC) 與 Web DAV。如果伺服器沒有提供通訊協定,檔案會視為唯讀。用戶端可執行 [另存新檔] 在本機儲存副本。然而副本不能儲存回檔案來源的資料夾。
  • Web 伺服器類型

    Office 同時會嘗試判斷 Web 伺服器類型。這個判斷是根據 OPTIONS 呼叫所回傳的標頭資訊。具體而言,Office 尋找可指出 SharePoint 文件庫或是 Exchange WebStore 資料夾進行通訊的標頭值。如果偵測到通訊,Office 執行與伺服器額外的通訊以啟用下列的 Web 共同作業功能:
    • Web 討論
    • 工作清單更新
    • 文件取出
    • 文件存回
    特定 Web 伺服器類型可支援之前的 Web 共同作業功能。為了識別 Web 伺服器類型,Office 尋找下列標頭:
    • MicrosoftSharePointTeamServices
    • MicrosoftTahoeServer
    • MicrosoftOfficeWebServer
    • MS-WebStore
如果 Web 伺服器要求驗證才能完成 OPTIONS 要求,您可能會被提示輸入認證才能完成呼叫。在完成呼叫之後,收集的資訊快取在您的登錄 Hive,因此不必為這個資料夾重複呼叫。Office Protocol Discovery Cache 位於下列登錄機碼中:

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\Internet\Server Cache


「伺服器快取」包含了每個開啟且成功回傳 OPTIONS 呼叫的 Web 資料夾的子機碼項目。每個項目包含下列適用於該資料夾設定的數值:
  • 通訊協定

    這是一個 32 位元的 DWORD 值,包含文件使用的 Web 製作通訊協定。目前定義的數值如下:
    • 0 代表唯讀 HTTP
    • 1 代表 WEC (對於啟用 FPSE 的 Web 資料夾)
    • 2 代表 DAV (對於擴充 DAV 的 Web 資料夾)
  • 類型

    這是一個 DWORD 數值,代表管理資料夾的 Web 文件共同作業伺服器的類型。目前定義的數值如下:
    • 0 代表沒有共同作業
    • 1 代表 SharePoint Team Server
    • 2 代表 Exchange 2000 Server
    • 3 代表 SharePoint Portal 2001 Server
    • 4 代表 SharePoint 2001 增強的資料夾
    • 5 代表 Windows SharePoint Server 與 SharePoint Portal 2003 Server
  • 有效時間

    這是 64 位元的 QWORD 數值,包含有效時間。這個數值是 Win32 FILETIME 架構,其中包含以國際標準時間 (UTC) 格式表示的有效時間。在有效時間過後,Office 利用另一個 OPTIONS 呼叫再次查詢 Web 伺服器,以確保自上次數值快取之後,伺服器設定沒有變更。有效時間的長度會根據隨機識別值種子而變化。有效時間的長度通常? 2 個星期或更長一些。

    重要 提供的登錄機碼只供作參考。不要直接編輯登入機碼或數值。Office 會定期清除快取。所以,儲存的資訊只是暫時性的。
在相同「伺服器快取」機碼下,設定 MaxCount 登入值,可以設定快取項目的最大數量。如果達到最大的數字,Office 會移除舊有的項目以清出空間。如果無法清除空間,OPTIONS 呼叫的結果將無法快取。

識別由於 Office Protocol Discovery 所造成的已知缺點

Office Protocol Discovery 已經解決最重要的缺點,那就是判斷文件必須在伺服器中,開啟為唯讀模式或是可讀寫模式。然而,Office Protocol Discovery 可能帶來新的缺點。下列問題是目前設計已知的副作用:
  • Office Protocol Discovery 使用標準的 HTTP 1.1 OPTIONS 命令。無法處理這個命令的 Web 伺服器不能完全支援在 Office 2003 進行讀寫存取。這是預期狀況,設計就是如此。
  • 當開啟 Office 檔案時,可能會提示您進行驗證。如果 Web 伺服器要求進行驗證,以處理對資料夾 URI 的 OPTIONS 呼叫,則會發生此動作。通常可透過給予匿名使用者對資料夾的瀏覽權限,以變更伺服器設定來避免這個問題。瀏覽權限同時也稱做清單權限。如果伺服器要求驗證,就會提示進行驗證。
  • 在開啟時,可能會提示您選取用戶端憑證,或是選取一個信任伺服器憑證。即使之前的導覽已經對 Internet Explorer 提供這個憑證資訊,也可能發生這個動作。因? Office 會向伺服器要求自己的程序空間時,所以每次都會建立一個新的工作階段。這個新工作階段可能產生額外安全警告,或額外提示以成功完成 OPTIONS 呼叫。
  • 在 OPTIONS 要求中,使用用於收集文件的 Cookie 資訊。如果伺服器不允許在沒有這個 Cookie 資訊的情?下,直接呼叫資料夾 URL,則 OPTIONS 呼叫可能失敗。如果發生這個問題,可能會一直提示使用者進行驗證,而使用者可能無法提供驗證。這不是因為缺少驗證。這個問題是因為缺少 Web 伺服器的工作階段 Cookie。只有那些依賴 Cookie 資訊 (而不是驗證資訊),或同時依賴 Cookie 資訊和驗證資訊的特定 Web 伺服器設計,才會出現這個問題。
  • 對於在 Intranet 環境中使用 Layer 5 篩選的 Cisco Content Server Switch (CSS) 負載平衡器的網路設定,存在一個已知問題。CSS 軟體不能正確處理 HTTP 1.1 OPTIONS 命令。CSS 軟體不會將呼叫轉送到 Web 伺服器。同時,CSS 軟體不會回傳回應到指示錯誤的用戶端,然後便關閉 TCP 連線。

    由於伺服器永遠不確認收到 TCP 封包,用戶端會認?伺服器沒有收到訊息。所以,用戶端會重新傳送訊息。Office 會一直傳送這個訊息,並等待回應,直到 TCP 連線最後終於逾時。這會造成用戶端在開啟 Office 檔案時,停止回應。Office 應用程式會等待伺服器的回應。但是,永遠不會收到伺服器的回應,因為 CSS 負載平衡器會捨棄 TCP 封包。

    Cisco 瞭解這個問題。Cisco 正在開發更新以解決這個問題。若要在沒有更新的狀況下,暫時解決這個問題,您可以將 CSS 篩選降低到層級 3 規則或層級 4 規則。您還可以跳過負載平衡器,方法是變更開啟的 URL,使 URL 直接指向儲存內容的 Web 伺服器。
Office Protocol Discovery 提供的優點超過目前已知的缺點。我們相信這些問題會隨著時間而減少。我們將繼續追蹤最後兩個問題,以確保即使無法調整現有網路設計,我們仍可以有解決方案。我們相信,對於 Web 共同作業,選擇使用 Office Protocol Discovery 是正確的長期策略。

瞭解 UNC 重新導向程式檔案的 HTTP 轉換

透過 Web Client 服務,執行 Windows XP Professional 的用戶端可以建立 DAV Web 資料夾的「網路位置」。Web Client 服務也稱? WebDAV 小型重新導向程式。這個 Web Client 服務讓?用 DAV 的資料夾顯示? UNC 共用。

因?應用程式通常儲存至 UNC 路徑,所以應用程式可以開啟檔案、編輯檔案以及儲存至檔案。但是,文件共同作業要求的功能,超出 Web Client 服務所能提供的功能。所以 Office 2003 新增程式碼,以判斷文件是否被 Web Client 服務開啟。如果檔案已由 Web Client 服務所開啟,則 Office 2003 將路徑重新對應回完整的 URL,然後透過使用伺服器類型適用的通訊協定另行開啟檔案。這使得 Office 2003 應用程式可以執行完整的文件共同作業功能,就像檔案是直接從 Office 中的 URL 所開啟的。前面提供的資訊 (包括 Office Protocol Discovery) 適用於從?用 Web 用戶端的 UNC 共用所開啟的文件。

瞭解超連結區域安全性和安全性提示

對於來自 Office 文件中連結的 Internet 超連結,Office 2003 使用增?的安全性措施。這包括在更嚴格的安全性區域原則下,傳送安全憑證資訊,讓 Internet Explorer 可以允許或拒絕傳遞憑證至伺服器。根據?使用者設定的區域設定,以?定允許還是拒絕。

同時,Office 2003 確保當導覽處於使用者控制下時,WININET 具有正確的視窗控制碼。這表示如果執行某項操作需要提示,則 WININET 可以向使用者發出安全性提示。這可增? Office 中的 Web 安全性。但是,對 Internet Explorer 安全性區域的更嚴格限制,可能導致出現在早期版本的 Office 中不會出現的警告。在超連結導覽時,會出現這些警告。

此外,Office 2003 在下列情?下新增附加警告提示:
  • 使用者在 Office 文件中按一下超連結
  • 文件包含的內容架構在可能執行導覽的 URL 資源上
附加警告提示確保使用者想要移至網站,且這個網站是受信任的。您可以透過登錄設定以控制這個提示行?。

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
829072? (http://support.microsoft.com/kb/829072/ ) How to disable hyperlink warning messages in Office 2003

?考

如需有關 OPTIONS 命令和 HTTP 1.1 通訊協定的詳細資訊,請參閱 HTTP Working Group Request for Comments (RFC) 規定 #2616,位於下列的 Internet Engineering Task Force 網站:
http://www.ietf.org/rfc/rfc2616.txt (http://www.ietf.org/rfc/rfc2616.txt)
如需有關 Office 早期版本中超連結問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
297891? (http://support.microsoft.com/kb/297891/ ) You experience performance and memory problems when you switch between a Web browser and the Office XP programs
810360? (http://support.microsoft.com/kb/810360/ ) BUG:Word 2000 and Excel 2000 do not retain cookie information when you move to a hyperlink in the same session
225234? (http://support.microsoft.com/kb/225234/ ) You are prompted for a password when you open an Office 2000 document in a browser
314400? (http://support.microsoft.com/kb/314400/ ) OFF2000:You are unnecessarily prompted for your password when you follow hyperlink on an Office document
218153? (http://support.microsoft.com/kb/218153/ ) OFF2000:Error message:"Cannot Locate the Internet Server or Proxy Server" When Clicking Hyperlink
280680? (http://support.microsoft.com/kb/280680/ ) OFF2000:Cannot follow hyperlink to Office document

這篇文章中的資訊適用於:
  • Microsoft Office Excel 2003
  • Microsoft Office PowerPoint 2003
  • Microsoft Office Word 2003
關鍵字:?
kbofficeauto kbinfo KB838028
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。