Word中批量提取超链接有四种方法:一、用域代码+通配符查找替换;二、运行VBA宏导出到新文档;三、另存为网页后解析HTML源码;四、用PowerShell调用COM对象自动化导出。

如果您在Word文档中插入了大量超链接,但需要将它们统一导出为纯文本列表以便整理或分析,则需绕过手动逐个复制的低效方式。以下是批量提取所有超链接的多种可行方法:
一、使用查找替换与通配符配合显示域代码
该方法利用Word的域代码特性,将超链接以可检索的结构形式临时呈现,再通过查找替换批量定位并提取。
1、按 Ctrl + A 全选文档内容。
2、按 Alt + F9 切换显示所有域代码,此时超链接会显示为类似 { HYPERLINK "https://example.com" \o "链接文字" } 的格式。
3、按 Ctrl + H 打开替换对话框,勾选“使用通配符”。
4、在“查找内容”栏输入:{ HYPERLINK "*" \o "*" }(注意引号为英文半角)。
5、在“替换为”栏输入:\1,并将光标置于“查找内容”中第一个星号位置,点击“更多”→“特殊格式”→“表达式”,再点击“全部替换”。
二、运行VBA宏一键导出超链接到新文档
此方法通过内置VBA脚本遍历文档中所有超链接对象,自动提取其地址与显示文字,并生成结构化结果页。
1、按 Alt + F11 打开VBA编辑器。
2、在左侧项目资源管理器中右键“Normal”→“插入”→“模块”。
3、在右侧空白窗口粘贴以下代码:Sub ExtractAllHyperlinks() Dim doc As Document, hl As Hyperlink, newDoc As Document Set doc = ActiveDocument Set newDoc = Documents.Add For Each hl In doc.Hyperlinks newDoc.Content.InsertAfter hl.Address & vbTab & hl.TextToDisplay & vbCrLf Next hl End Sub
4、将光标置于代码内任意位置,按 F5 运行宏。
中文 Word 文档自动化校对工具。当用户需要对中文文本或 Word 文档进行标点符号检查、语法检查、错别字检查时使用此 skill。触发词:语法检查、错别字、标点符号、校对、检查文档。
5、运行完成后,新文档中将按行列出每条超链接的地址与显示文字,用制表符分隔。
三、另存为网页格式后解析HTML源码
Word保存为网页(.htm)时会将所有超链接保留为标准HTML 标签,可通过文本编辑器直接提取href属性值。
1、点击“文件”→“另存为”,选择保存类型为 网页(*.htm; *.html)。
2、保存后,用记事本或VS Code等纯文本编辑器打开该.htm文件。
4、逐个复制双引号内的URL内容,或使用正则表达式 href="https://www.php.cn/link/4a33edb840d8caeb24bbcb1b0ce1d8d7"]*)" 批量匹配提取。
四、使用PowerShell调用Word COM对象自动化提取
该方法适用于批量处理多个Word文档,通过外部脚本控制Word应用程序实例,读取超链接集合并输出至CSV文件。
1、确保系统已安装Microsoft Word桌面版且未被其他进程独占。
2、新建文本文件,重命名为 ExtractLinks.ps1,用记事本打开并写入脚本。
3、在脚本中调用 $word = New-Object -ComObject Word.Application 启动Word后台实例。
4、使用 $doc.Hyperlinks | ForEach-Object { $_.Address } 遍历并导出地址列表。
5、执行命令前需在PowerShell中运行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 允许本地脚本运行。

















