vba - 如何使用参数从 MS Access 打开 URL

标签 vba ms-access url

我有一个基本的 MS Access 应用程序,它在表单上有一个按钮,该按钮应该打开一个以 Access 记录的 ID 作为参数的网页,但是我尝试的所有内容要么导致 Access 出错,要么仅导致基本 URL 在网页。

我尝试将 VBA 添加到按钮的点击事件中,如下所示:

Application.FollowHyperlink _ 
"http://example.com/index.php?r=controller/action&id=" & Me.ID 

但我得到的只是在网络浏览器上打开的基本 URL(即 http://example.com)。如果我删除“?”和来自完整 URL 的“&”按钮将打开带有完整 URL 减去 '?' 的浏览器和“&”,这当然会使页面出错。

我尝试将超链接控件的属性设置为:
="http://example.com/index.php?r=controller/action&id=" & Me.ID

但它的作用与上述相同。

我尝试创建一个具有相同结果的宏。我曾尝试使用超链接生成器并使用 [formName]![id]作为参数但同样的事情发生或 Access 错误。

我已阅读这篇文章:https://msdn.microsoft.com/en-us/library/office/ff822080.aspx并尝试将 URl 中 'index.php/之后的部分添加到代码中的 ExtraInfo 位置,但同样的事情。

帮助!简单地让 Access 打开一个在 URL 末尾带有参数的 URL 并不难。

最佳答案

Application.FollowHyperlink善变。
使用 ShellExecute :
Open an html page in default browser with VBA?
或者

CreateObject("Shell.Application").Open "http://example.com/index.php?r=controller/action&id=" & Me.ID 
https://stackoverflow.com/a/18922262/3820271

如果 URL 在字符串变量中,您可能需要将其强制转换为 Variant,因为这是 Shell.Application.Open 所期望的:
strUrl = "http://example.com/index.php?r=controller/action&id=" & Me.ID
CreateObject("Shell.Application").Open CVar(strUrl)
https://stackoverflow.com/a/56173911/3820271 ,感谢托比和安东尼指出这一点!

关于vba - 如何使用参数从 MS Access 打开 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40462176/

相关文章:

vba - Excel Shapes.Range(Array ("someName")) - 定义的范围是什么?

java - 在 firebase 动态链接中传递参数不起作用

Excel vba 直方图 bin

vba - 将数组公式放入单元格区域

vba - 让 ScriptControl 与 Excel 2010 x64 一起工作

VBA 如果错误重试

ms-access - 如何在Access 2010 VBA中封装IIF和ISNULL调用?

sql - mysql db 作为 master,从它 Access mdb 的更新 - 怎么样?

java.net.MalformedURLException : Protocol not found. 原因?

url - URL方案/主机/路径中的 `+`是否代表空格?