如何在Excel中一次性将所有链接在默认浏览器新标签页打开?
一次性打开Excel中所有链接的实用方法
嘿,这个需求我之前帮不少人解决过,其实有俩靠谱的路子,分两种情况给你说:
方法一:用VBA宏(高效直接)
如果你的Excel里是插入的超链接(不是纯文本网址),这个方法最快:
- 打开你的Excel文件,按下
Alt + F11快速打开VBA编辑器 - 在左侧的「项目资源管理器」里,右键点击你的工作簿名称,选择「插入」→「模块」
- 把下面的代码粘贴到模块窗口里:
Sub OpenAllLinks() Dim cell As Range Dim url As String ' 遍历你选中的所有单元格(建议先手动选中包含链接的区域) For Each cell In Selection ' 判断单元格是否有超链接 If cell.Hyperlinks.Count > 0 Then url = cell.Hyperlinks(1).Address ' 调用默认浏览器打开链接,依赖浏览器默认设置打开新标签页 ShellExecute 0, "open", url, vbNullString, vbNullString, vbNormalFocus End If Next cell End Sub
- 如果你遇到的是纯文本网址(单元格里直接是http开头的文本,不是插入的超链接),把代码里的
url = cell.Hyperlinks(1).Address改成url = cell.Value就行 - 按下
Ctrl + S保存文件,注意要选「Excel 启用宏的工作簿(*.xlsm)」格式,不然宏会丢失 - 回到Excel界面,选中所有包含链接的单元格,按下
Alt + F8调出宏窗口,选择OpenAllLinks点击「执行」就行
小提示:如果浏览器没在新标签页打开,去浏览器设置里找“从外部应用打开链接时”的选项,改成“在新标签页打开”就好。
方法二:不用宏,用PowerShell(安全省心)
怕宏的朋友可以试试这个,完全不用碰VBA:
- 在Excel里选中所有链接单元格,按下
Ctrl + C复制 - 打开记事本,粘贴内容,这样每个链接会自动占一行(如果你的链接是每个单元格一个的话)
- 把记事本保存成
links.txt,比如存在桌面上 - 按下
Win + X,选择「Windows PowerShell」(或者终端)打开 - 输入下面的命令,记得把路径换成你实际的文件路径:
Get-Content "C:\Users\你的用户名\Desktop\links.txt" | ForEach-Object { Start-Process $_ }
- 回车执行,默认浏览器就会逐个在新标签页打开所有链接啦
内容的提问来源于stack exchange,提问作者Woww
相关产品推荐
相关产品推荐

