Excel链接到带有id或命名锚点的网页位置
在Excel中,我可以创build超链接到网页。 但是,如果URL包含#字符,则Excel总是将散列符号转换为空格连字符空格,以便链接不再起作用。 urlhttp://www.example.com/page#location成为http://www.example.com/page%20-%20location
我已经尝试了三种方法
-
手动,右键单击单元格,单击“超链接”,然后在地址框中键入URL
-
以编程方式提供完整的url:
Worksheets(1).Hyperlinks.Add Address:="http://www.example.com/page#location"
-
以编程方式,给位置作为“子地址”:
Worksheets(1).Hyperlinks.Add Address:="http://www.example.com/page", SubAddress:="location"
所有三个都给出了同样的问题。 是否有可能创build一个链接到一个特定的位置(编号或命名锚点)不只是一个网页? 我会很感激任何帮助。
注意:代码示例不完整; 为了清楚起见,我省略了参数Anchor和TextToDisplay。
Excel版本:2010(14.0.6126.5003)SP1
这似乎是一个浏览器问题,而不是一个Excel问题。 从谷歌浏览器切换到Internet Explorer解决了它。
谢谢大家的build议…只是说你没有find同样的问题是促使我看别处。
您只需在URL中input并按回车,即可在单元格中创build超链接。 如果它有类似的东西,Excel将把它识别为一个URL
“.COM”
和/或
“HTTP://”
我试过你的问题,没有得到它。 也许还有一些其他问题与您的url。 你可能想要发布一个更类似于你实际使用的URL(相同的字符types),我也有excel 2010。
我可以通过使用%23代替#(hashtag |英镑符号)来解决这个问题。 我的url现在在Excel 2013中工作。'hovertext'显示URL中的#符号,但编辑链接显示%23。
http://www.example.com/page#location
不起作用
http://www.example.com/page%23location
工作
我们发现的最好的解决scheme,无需手动更改registry项,将Internet Explorer重置为默认浏览器。 这会重置url,协议和扩展关联并解决问题。
一旦你这样做,即使将默认浏览器更改为Firefox,并将其更改回IE,也不会再打破它。
这个解决scheme比在registry中玩耍更“清洁”,并且已经被logging为我们公司的官方解决scheme。
我有一个同事在Word 2010而不是Excel中的确切问题(包括%20-%20
错误)。
解决了以下的方法:
在Internet Explorer中:
- 互联网选项
- 程序选项卡
- HTML编辑器:确保这不是空白
不幸的是,在Excel中,我仍然遇到安全的URL编码超链接的问题。
他们会工作一次,然后在您点击一次后更改为file://
超链接,并再次被打破。
所以我使用了=Hyperlink()
函数,并且都很好,因为Excel无法在公式中更改串联的URLstring。
耶,我赢了… 不
当文件处于受保护视图时 ,由于安全设置或用户在Outlook中将该文件作为附件预览 , #
符号仍会变成%20-%20
由于我们的IT部门不允许我们安装其他浏览器,因此我们无法将Internet Explorer设置为默认浏览器(因为它已经是)。
比较两台电脑,我可以更改默认浏览器与标准负载,我注意到以下registry项从标准负载中缺less。
解决scheme: 另存为 Office Hyperlink Fix.reg (并双击)
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http] [HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice] "Progid"="IE.HTTP"
将其添加到标准负载(每个用户所需的)后,链接无任何问题!
这不是所有需要的registry项,但它足以让IE再次要求成为默认浏览器,并添加其余的(HTTPS …)。
这不是浏览器问题。 MS Office应用程序正在使用#replace“ – ”(%20是空格)。
这个恼人的问题被微软自己承认存在。 从该页面引用:
当您创build超链接的文件的名称包含井号(#)时,可能会出现这些问题。
注意:井号是一个有效的字符在文件名中使用,但不被Office文档中的超链接接受。
他们唯一的解决方法是删除违规的#或从文档复制和粘贴url…完全荒谬,考虑到大多数人会使用#的原因是为了让用户更容易find内容。
请求Microsoft通过在此处进行投票来改善此行为: https : //office365.uservoice.com/forums/264636-general/suggestions/32273917-stop-mangling-urls-containing-a-so-we-can-link-t