Gra*_*ham 14 excel vba hyperlink excel-vba
在Excel中,我可以创建指向网页的超链接.但是,如果URL包含#字符,则Excel始终将散列符号转换为空格连字符空格,以便链接不再起作用.网址http://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"
这三个都给出了同样的问题.是否可以创建指向特定位置(id或命名锚点)的链接,而不仅仅是网页?我将不胜感激任何帮助.
注意:代码示例不完整; 为清楚起见,我省略了参数Anchor和TextToDisplay.
Excel版本:2010(14.0.6126.5003)SP1
这不是浏览器问题。MS Office 应用程序正在使用 # 替换为“-”(%20 是一个空格)来修改 URL。
这个恼人的问题是微软自己承认存在的。从该页面引用:
当您创建超链接的文件名称包含井号 (#) 时,可能会出现这些问题。
注意:井号是在文件名中使用的有效字符,但在 Office 文档的超链接中不被接受。
他们唯一的解决方法是删除有问题的 # 或从文档中复制和粘贴 URL ......考虑到大多数人使用 # 的原因是让用户更容易找到内容,这完全荒谬。
通过在此处投票请求 Microsoft 改进此行为:https : //office365.uservoice.com/forums/264636-general/suggestions/32273917-stop-mangling-urls- contains-a-so-we-can-link-t
它似乎是一个浏览器问题而不是Excel问题.从Google Chrome切换到Internet Explorer解决了这个问题.
谢谢大家的建议...只是说你没有发现同样的问题是什么促使我去寻找其他地方.
您只需输入 URL 并按 Enter 键即可在单元格中创建超链接。如果 Excel 包含以下内容,则会将其识别为 URL
“.com”
和/或
“http://”
我尝试了你的问题,但没有得到它。也许您的网址还有其他问题。您可能想发布一个与您实际使用的更相似的 URL(相同的字符类型),我也有 excel 2010。