让Excel使用浏览器打开一个URL,而不是通过Excel

有没有什么办法可以让Excel直接将单元格中包含的URL传递给系统浏览器,并且不要直接在Excel中直接打开?

这是问题的细节:

我有一个networking应用程序,需要一个有效的会议(一个cookie是必需的)。 如果请求进入(对于受保护的页面)没有cookie,则redirect被发送到login页面。

此Web应用程序可以生成一个Excel电子表格,其中的单元格具有指向Web应用程序中资源的URL。 希望可以打开电子表格,然后单击单元格中的链接以在浏览器中打开页面(假设浏览器具有cookie)。

如果我把这些URL中的一个粘贴到浏览器的地址栏中,它就会起作用(因为浏览器将包含cookie)。 同样,如果其中一个URL包含在电子邮件中,我可以点击它,如果当前login,将访问资源。

这是问题:

但是,如果我直接在Excel中单击链接, Excel将发送请求,而不是浏览器。 由于Excel不知道浏览器所保存的cookie,因此不发送cookie。

Excel会请求正确的URL。 Web应用程序在没有 cookie的情况下查看请求,并使用指向login页面的Location:标头将redirect发送回Excel。

接下来,Excel会为login页面提出另一个请求。

最后,打开浏览器(如果尚未打开),它会向loginURL发出另一个请求。

我假设发生了什么是Excel是看到login页面是文本/ HTML,并决定切换到浏览器,但它给浏览器的位置提供的URL,而不是在电子表格中的URL。

有没有办法configurationExcel不尝试直接在单元格中打开URL?

运行Excel 14.3.5(Mac 2011)。

首先,这是我在Office 2010的Windows副本中使用的内容。我完全意识到您正在使用Mac Office,因此可能需要一点点修改。

Public Function OpenSite() Dim URL As String URL = Worksheets("Sheet1").Range("A1").Value Call Shell("C:\Program Files\Internet Explorer\Iexplore.exe " & URL, 1) End Function 

在Windows环境中,这将使用Internet Explorer打开URL在Sheet1!A1中的站点

在StackOverflow的其他地方显示这是在Mac环境中使用URL调用浏览器的可能方法:

 Shell("Macintosh HD:Users:brownj:Documents:" & _ "rnaseq:IGV_2.0.14:igv.sh", vbNormalFocus) 

(它似乎不需要首先“调用”命令。)

也许尝试用“{浏览器的path}”和URLreplace第一个参数,看看是否会做的伎俩。 如果有效,只需将其放在Private Sub Workbook_Open下的“ThisWorkbook”对象中,以在打开表单时自动执行。

再一次,我很抱歉,我不能testing这个…但希望这将至less让你在正确的方向!