VBA中调用FollowHyperlink打开含#号路径时如何忽略通配符功能
解决VBA FollowHyperlink打开含#路径报错的方案
FollowHyperlink方法内置超链接解析逻辑,会把路径中的#识别为锚点分隔符,自动截断#之后的内容,导致本地文件/目录路径识别失败。
解决方法
将路径中所有#字符替换为URL编码值%23即可,其他字符无需额外处理。
你给出的示例路径G:\Building\#500 Main St.\Loans\格式化后为:G:\Building\%23500 Main St.\Loans\
可直接复用的代码片段
Sub OpenSpecialCharPath() Dim rawPath As String Dim formattedPath As String rawPath = "G:\Building\#500 Main St.\Loans\" ' 替换所有#规避锚点识别逻辑 formattedPath = Replace(rawPath, "#", "%23") ThisWorkbook.FollowHyperlink Address:=formattedPath End Sub
额外提示
如果路径中还存在?、=这类超链接保留字符,也可以通过替换为对应URL编码解决:
?替换为%3F=替换为%3D&替换为%26
内容的提问来源于stack exchange,提问作者mttCCI
相关产品推荐
相关产品推荐

