【问题标题】:Calling Javascript function from access VBA从访问 VBA 调用 Javascript 函数
【发布时间】:2015-12-07 16:20:40
【问题描述】:

在访问 vba 时,我可以从网站检索 href 标记,但我发现 href 值触发的是 javascript 函数而不是链接。 javascript 函数将用户定向到我想要的链接。我的问题是:如何通过 VBA 触发 javacript 函数?

        Set ie1 = New InternetExplorer
        ie1.Navigate b.href 'Error here

        'wait for website to load
        Do: Loop While ie1.Busy Or ie1.ReadyState <> 4

        Set blist = HTML.getElementsByTagName("td")

        For Each c In blist

            address = c.innerText
            Debug.Print address

        Next c

编辑:b 看起来像这样&lt;a href="javascript:dspctry(71)"&gt;DNK&lt;/a&gt;

【问题讨论】:

  • 你能提供实际的网址吗?或者至少发布触发链接的HTML代码? ...或查看this answer
  • 是href还是原网站?
  • 要点击链接的站点的 URL(javascript 函数)或该点击的 HTML 代码(函数)
  • 刚刚在描述中添加了它
  • 我知道我之前遇到过同样的问题 .. 见 this question 几个月前我问过,如果它解决了问题,请告诉我......页面上的任何一个答案...也许它不一样,但看起来很相似...你能发布javascript函数吗?

标签: javascript ms-access vba ms-access-2010


【解决方案1】:

解决了,我使用 IE.Document.parentWindow.excScript(b.href,"Javacript") 调用 javascript 函数,同时将其 IE.Document 设置为我当前的。

            'b.Click
            Call HTML.parentWindow.execScript(b.href, "Javascript")
            Do: Loop While ie.Busy Or ie.ReadyState <> 4

            Set blist = HTML.getElementsByTagName("td")

            For Each c In blist

                address = c.innerText
                If InStr(address, "Email: ") Then
                    Debug.Print address
                End If

            Next c

            Set HTML = Nothing
            Exit Function

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多