忽略 VBA 中文本字符串中 FollowHyperlink 的通配符功能

Ignoring wildcard function of FollowHyperlink within a text string in VBA

我正在尝试使用 .FollowHyperlink 方法在资源管理器中打开一个文件路径,并在带有“#”字符的字符串上出现错误。如何格式化字符串以使 .FollowHyperlink 忽略通配符功能?例如,我将如何格式化以下文件路径:

G:\Building\#500 Main St.\Loans\

您可以为此使用 Shell:

Shell "C:\WINDOWS\explorer.exe ""G:\Building\#500 Main St.\Loans\""", vbNormalFocus

我们可以通过查看 the documentation that the first argument is expected to be an Address which must follow the rules of a valid URI as defined in the RFC 来判断。

散列 # 是 URI RFC 中的保留符号。

您必须 URL 对您传递给它的任何字符串进行编码以避免保留符号。 Access 中没有 URL 编码字符串的内置方法,但 Excel.

中有

您可以在此处查看 URL 在 VBA 中编码的完整讨论: How can I URL encode a string in Excel VBA?

这是您的 URL 编码本地路径的示例:

FollowHyperlink("G%3A%5CBuilding%5C%23500%20Main%20St.%5CLoans%5C")