You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将OpenArgs传递的链接设为WebBrowser控件的ControlSource属性

问题原因

当你在控件属性表中填写="路径"格式的内容时,Access会自动将其识别为表达式并解析出实际路径值。但在VBA运行时直接给ControlSource属性赋值同格式的字符串时,Access不会主动做表达式解析,会把整个带等号、引号的字符串当作无效路径处理,这就是报错的核心原因。

解决方案(任选一种即可)

方案1:修改参数传递逻辑(最推荐)

直接传递纯路径字符串,不需要额外加等号和引号:

调用窗体修改后代码:

DoCmd.OpenForm "frm_CS_Help", OpenArgs:="C:\Users\bamad\Documents\CSHelp.html#DROPBOX"

帮助窗体代码无需修改,保持原有即可:

Private Sub Form_Load()
    Dim strPath As String
    strPath = Me.OpenArgs
    WebBrowser43.ControlSource = strPath
End Sub

方案2:保留原有传参逻辑,增加表达式解析

如果不想修改调用侧代码,在帮助窗体中用Eval函数解析传入的表达式字符串即可:

帮助窗体修改后代码:

Private Sub Form_Load()
    Dim strPath As String
    strPath = Me.OpenArgs
    WebBrowser43.ControlSource = Eval(strPath)
End Sub

方案3:改用WebBrowser原生Navigate方法(兼容性最好)

直接调用控件的导航方法,绕开ControlSource的表达式解析规则:

调用窗体保持传纯路径,帮助窗体代码修改为:

Private Sub Form_Load()
    Dim strPath As String
    strPath = Me.OpenArgs
    WebBrowser43.Navigate strPath
End Sub

内容的提问来源于stack exchange,提问作者Brother Arnold

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:06:04