我正在添加一个文档的超链接,其中包含一个查询字符串。
网址示例:https://www.website.com.au/paynow/ext?rn=555&amt=95.40
我将此添加到文档中,如此 -
Dim hyperlink As Word.Hyperlink = WordDocument.Hyperlinks.Add(Me.Range, URL, "", "", "Click me to visit the website")
这将打开网站并忽略传入的查询字符串(基本上正在运行https://www.website.com.au
。
如果我直接复制超链接链接(打开文档,右键单击超链接并选择“复制链接”),然后打开浏览器并粘贴它 - >使用查询字符串正确加载网址。
我已经通过fiddler检查了,似乎文档加载项正在使用返回的最终重定向URL。从阅读,似乎这也可能是Office产品的已知问题?
此外 - 如果我(以编程方式)使用相同的URL我将添加到超链接并将其添加到Process.Start(“URL”),它加载完全正常。
[我甚至尝试过编码网址 - 没有区别]。
任何想法,在这里开始发疯?
提前致谢。
答案 0 :(得分:2)
原因是Word的默认行为,它首先检查URL是否为Word文档(如果是,下载并打开文档)。
adding the following Registry key可以更改此行为(相应地替换Office版本):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
Office\15.0\Common\Internet\ForceShellExecute:DWORD=1
可在此处找到更多信息: