一份現代的 Word (.docx) 檔案會將每一個外部超連結儲存為其 Office Open XML 套件中的關聯項目,而最乾淨的取得方式就是使用單一用途的萃取器在本機讀取該關聯檔案。若要從 .docx 取得所有 Word 連結,請開啟 Word 超連結萃取器,從您的裝置中選擇該文件,並讓瀏覽器在記憶體中讀取其關聯 XML;該工具會解碼 http、https 與 mailto 目標,移除重複的項目,並回傳一個每行一個 URL 的清單,您可以從頁面複製或下載為純文字 .txt 檔。由於關聯檔案是 .docx 套件中一個小型且定義明確的部分,該操作不需解析您的段落、註解或圖片即可執行,這讓結果既快速又保守。您最終會得到一份僅包含安全外部目的地、可供稽核的清單,並與 Word 同時可能儲存的任何內部書籤、本機路徑或格式錯誤的目標分開。這種方法非常適合在報告發出前檢視來源、稽核從其他團隊收到的範本,或從一份可見錨點文字本身不足的長文件中收集參考資料。
相同的工作如果用手動方式解決——捲動瀏覽一份 40 頁的報告並複製每個帶底線的網址——幾乎一定會遺漏某些東西。Word 中的超連結可能藏在單字、圖片、引註欄位、按鈕,或像 "see here," 這樣的短詞後面,因此快速掃描可見文字時,經常會漏掉那些已存在於檔案中但視覺上不顯眼的連結。關聯檔案方法讀取的是 Word 實際記錄的內容,而非嘗試猜測頁面上有什麼,這也是為什麼產生的清單可以作為精確的清冊來信任,而不是盡力而為的抓取結果。

為何 Word 文件會隱藏其超連結目的地
Word 將超連結視為文件內容與外部目的地之間的一種關聯,而不僅僅是樣式化的文字。根據 ECMA-376 Office Open XML 標準,每個外部連結都儲存為套件中 word/_rels/document.xml.rels 部分的一個關聯項目,以 ID 為索引鍵,關聯類型為 http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink,TargetMode 為 External。讀者點擊的、可見的藍色帶底線詞組只是一個指向該關聯 ID 的錨點;即使移除格式,該目的地仍會被記錄下來。
這種設計有一個實際的副作用:您想要的網址很少出現在文件本文中。作者將連結包裹在單字、引註欄位、按鈕形狀、註腳參考及裝飾性圖片周圍,然後就繼續往下寫。快速瀏覽文件的讀者只會看到錨點文字,而目的地則儲存在關聯檔案中。這也是為什麼把可見文字貼到 URL 檢查工具時,幾乎會錯過檔案實際包含的每個連結。Microsoft Open XML 文件描述了相同的分離,指出超連結行為是與顯示錨點文字的 run 分開記錄的。直接讀取關聯部分的萃取器繞過了這個問題:它會呈現 Word 寫入的每個連結,無論錨點如何被包裝。
萃取器讀取了什麼、略過了什麼
萃取器的功能刻意做得範圍很窄。它接受一個 .docx 檔案,驗證該檔案是否為合規的 Office Open XML 套件,找出 word/_rels/document.xml.rels,僅保留類型為 hyperlink 且 TargetMode 為 External 的 Relationship 項目。剩餘的目標會經過正規化處理,並解碼編碼過的 XML 實體。重複的項目會被合併,結果以平面清單呈現。
| 包含於 TXT 報告中 | 設計上排除 |
|---|---|
| 以外部關聯形式儲存的 http:// 目的地 | 內部書籤與標題錨點 |
| 以外部關聯形式儲存的 https:// 目的地 | 本機檔案路徑與相對文件參考 |
| 以外部關聯形式儲存的 mailto: 地址 | JavaScript 風格、file:// 及其他不安全通訊協定 |
| XML 實體解碼後取得的外部目標 | 解析器無法安全解讀的格式錯誤目標 |
| 每個唯一 URL 各列出一行 | 同一 URL 的重複出現 |
這些排除項目並非缺陷,而是安全防護。像 #section-3 這樣的內部錨點是導覽輔助,並非讀者能在開放網路中造訪的目的地。像 ../shared/draft.docx 這樣的本機路徑指的是別人電腦上的檔案,將其發佈會造成誤導。透過預先過濾這些項目,該工具所產生的清單能真正代表外部網路目的地,而非 Word 願意記錄的每個可點擊物件。錨點文字、頁面位置、run 格式以及周圍段落也刻意不會保留,因為它們屬於文件本文,而非關聯檔案。若您需要那些上下文,原始的 .docx 才是真相來源。
三個步驟從 Word 文件取得所有連結
- 在瀏覽器中開啟 Word 超連結萃取器,並從您的裝置中選擇一個 .docx Word 文件。檔案選擇器僅接受現代的 Word 文件;舊版 .doc 檔、加密套件以及過大的封存檔會在任何內容被讀取之前就被拒絕。
- 等待瀏覽器從文件套件中讀取外部超連結關聯。萃取作業在本機上進行:文件 XML 在記憶體中解析,關聯項目被篩選為 hyperlink 類型與 external 目標模式,存活的 URL 會經過正規化並去除重複。不會上傳任何內容,也不會造訪任何目的地。
- 檢視結果面板中顯示的安全目的地,並下載每行一個連結的 TXT 報告。每一行都是一個由文件提供的單一 URL,您可以將其貼到試算表、URL 檢查工具、引註工具或任何接受純文字的本機工作流程中。
下載完成後,您可以將 .txt 檔重新命名以符合您的專案,將其放入共享資料夾,或將其導入另一個稽核流程。該檔案維持如連結清單般的小型,這在將一份經策展的目的地書目交付給同事、又不必暴露原始文件本文時特別有用。
讀取與再利用每行一個連結的報告
這個 TXT 檔刻意做得樸實無華,而這正是它最大的優點。每行一個 URL 意味著它可以被 sort、uniq、Excel、Google Sheets、Notepad++ 或任何以行為單位的工具直接解析,無須先去除頁首、頁尾或周圍的標記。若您需要依字母排序、與另一份清單去除重複,或將一整欄網址跑過網域檢查工具,該檔案可直接套用,無需前置處理。
因為報告保留了 Word 所儲存的確切字元,請排序清單並留意非預期項目,例如追蹤重新導向、同一網域的地區變體,或已不再符合擁有團隊的 mailto 地址。使用編輯器的「尋找重複」或逐行排序快速掃過,能凸顯出在捲動 .docx 本身時容易忽略的模式。原始錨點文字不會被保留,因此對於任何您想進一步調查的 URL,請回到來源文件,在本文中搜尋該目的地,並記下其周遭的句子。
此清單有所助益之處,以及您仍需要原始文件之處
匯出的清單是安全外部目的地的精確清冊,而非完整的文件稽核。文件本文中可見的網址可能只是看起來像 URL 的普通文字,而連結也可能存在於關聯檔案未描述的套件部分,例如頁首、頁尾、註解或內嵌物件。由參考管理工具所產生的引註以及合併列印欄位,也可能儲存關聯檔案並未描述的行為。請將 TXT 報告視為值得信賴的起點,接著在發佈前將其與可見文件及您的發佈要求進行比對。
該工具不會、也並非設計來解析重新導向、請求網站、檢查網域信譽、檢查郵件收件人,或判斷某個目的地是否值得造訪。這些檢查屬於另一個獨立的、經核准的審核流程,您應將其套用於每個打算發佈的網址。更安全的工作流程是保留原始 .docx、下載 TXT 報告、將清單與可見來源及您的風格指南進行比對,並將重要的 URL 跑過您慣用的 URL 檢查流程。
本機關聯檔案萃取器的限制
因為萃取器僅讀取 .docx 套件中的一個部分,它刻意迴避了完整文件解析器更廣泛的職責。它不會嘗試呈現文件、計算字數或解讀格式。它不會執行巨集、評估欄位或追蹤內嵌物件。瀏覽器會在顯示結果前,先拒絕格式錯誤的封存檔、過大的關聯 XML、不支援的 ZIP64 目錄記錄,以及超出該工具所宣告本機限制的套件,避免讓一個簡單的本機萃取器搖身變成通用文件閱讀器。沒有批次爬蟲、沒有重新導向展開、沒有信譽評分,也沒有試算表匯出;其結果就是一份可重現的、僅限安全通訊協定的外部關聯目標清單,僅此而已。
對大多數讀者而言,這樣的範疇正好合用。一份可貼到任何地方的聚焦且保守的清單,在實務上比一份猜測網址格式、可能誤把內部參考標記為外部目的地的模糊抓取結果更實用。當您需要一份 .docx 中所有外部網路連結的精確清冊時,關聯檔案就是權威來源,而一個除此之外什麼都不讀的本機萃取器,則是將其呈現出來的最直接方式。
想更深入了解,請參閱 如何在沒有 Word 的情況下將 DOCX 轉換為文字。
想更深入了解,請參閱 如何在不上傳的情況下從 Word 文件取得 URL。