让 Excel 使用非默认浏览器打开一些超链接

让 Excel 使用非默认浏览器打开一些超链接

我们的许多网络/服务器/存储硬件都使用 Web 界面作为其管理门户。我目前使用 Excel 2010 工作表来跟踪每个设备。我留出一列来列出每个 Web 界面的 URL。这样只需单击 URL 即可轻松打开每个管理门户。

我的默认浏览器是 Firefox。但是,某些管理门户与 Firefox 配合得不好,需要使用 IE。到目前为止,当我想在 IE 中打开超链接时,我必须手动打开 IE,从 Excel 工作表中复制 URL,然后将其粘贴到 IE 地址栏中(否则,如果我直接单击它,它将在 Firefox 中打开)。这只是几个烦人的额外步骤。

因此,如果不将 Firefox 更改为我的默认浏览器,Excel 2010 中是否有一种简单的方法可以告诉它在单击时在 IE 中打开哪些超链接?我想具体选择在哪个浏览器中打开哪些链接

(作为参考,我使用的是 Windows 7 Enterprise 64 位)

答案1

简短回答:不行。Excel 没有使用系统默认指定以外的程序打开 URL 的选项。

Excel 将通过简单地执行以下操作来威胁 URL:启动 URL(即使用 DDE 扩展以使用设置为默认程序的任何程序打开 URL)。

但是,使用 VB 宏,您可以创建一个自定义链接,该链接将通过 IE 启动该链接。

它需要一点编程,并不容易,您可能必须编辑所有单元格并删除超链接并将链接保存为该框中的文本才能正常工作。

尽管 SuperUser 不是一个脚本网站(如果您要以这种方式进行操作,则应该在 StackOverflow 上询问一个专门针对编程的新问题),但您可以尝试按如下方式进行操作。

每次单击任何单元格时都会启动一个宏(函数 Sheet1_clicked())我相信这是事件。然后,如果该列不是您有 URL 的列,或者如果单元格不是以 #URL: 开头,则跳出该函数。您甚至可以检查下一列是否具有此值,这样您就可以有效地隐藏该列,并将其前的列设为事件单击列。您可以使用条件转发来检查下一个单元格是否有任何文本,如果有,则使用颜色显示“单击我”文本。

现在,在脚本本身中,您可以编写程序来使用 url 启动 IExplore.exe。

答案2

我发现最好的方法是创建一个批处理文件的链接...要创建一个批处理文件,请在桌面或要存储链接的文件夹中单击鼠标右键,然后选择“>新建>文本文档”,创建一个文本文档。

将文档重命名为您能记住的名称,例如 Yahoo_Mail.BAT(必须打开文件扩展名,否则您将无法更改扩展名)

现在右键单击新创建的Yahoo_Mail.BAT并选择编辑

要在 Chrome 中启动,请输入:START CHROME.EXE mail.yahoo.com

现在,在 Excel 中,创建指向该文件的链接,它将打开网页,就像您将其输入到 dos 命令行窗口中一样。请记住,如果您通过电子邮件将 Excel 文档发送给某人,则必须向他们提供批处理文件,并告诉他们将其放在笔记本电脑上的哪个文件夹中,这样链接才能起作用……我主要将其用于不通过电子邮件发送给个人的个人 excel 文件,但无论哪种方式,这都是一种更简单的方法,可以避免将其编程到 excel 中。如果您想使用 Explorer,只需在上面的示例中替换您的浏览器可执行文件(对 Internet Explorer 使用 iexplore.exe)祝你好运!我希望这对某些人有所帮助,它确实困扰了我一段时间。我认为我应该能够从 excel 中的超链接选项卡运行命令,该命令只使用默认浏览器……

有时,您只想使用其他浏览器打开链接...哈哈!我自己喜欢用 Chrome 来做某些事情,但我不想因为我要做其他事情而让我的主家用电脑使用 Chrome 作为默认浏览器。

答案3

  1. 在该单元格后面的单元格中创建一个空链接(如果您创建具有真实地址的超链接,Excel 将同时打开默认浏览器和您的特定浏览器)。

  2. 在包含“超链接”的工作表中添加如下 VBA 代码(先更新到浏览器应用程序的路径):

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Shell """" & Environ$("USERPROFILE") & "\AppData\Local\Google\Chrome\Application\chrome.exe"" ""https://superuser.com"""

End Sub

答案4

这个问题有点老了,但它在一个较新的类似问题中被引用,所以我添加了一个更新的答案。在我的示例中,我的电子表格有三列,DATE, URL, OTHER_INFO网址列中有链接。

凭借优秀的导入Excel模块变得非常容易。从模块中,使用匯入Excelcmdlet 将电子表格读入变量,然后使用 foreach 循环打开每个链接:

$excel = Import-Excel -Path "C:\Users\UserName\Desktop\Temp\test.xlsx"
$brows = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
foreach ($url in $excel.URL){
    Start-Process -FilePath $brows -ArgumentList $url
    #    Write-Host $brows $url  ## TEST
    }

Start-Process -FilePath $brows -ArgumentList $url

这将在 Edge 的新选项卡中打开每个链接。

如果您无法使用 ImportExcel 模块,它会更冗长,但您仍然可以使用 COM 对象访问电子表格数据

相关内容