从没有IE窗口的VBA调用Javascript函数

使用VBA,我试图在网页上调用Javascript函数,而不必实际导航到IE中的页面。 有问题的function将一个项目添加到用户的购物车。

这是VBA代码:

Dim url As String Dim ReqIE As MSXML2.XMLHTTP60 url = "http://website.com/store" Set ReqIE = New MSXML2.XMLHTTP60 ReqIE.Open "GET", url, False ReqIE.Send While ReqIE.readyState <> 4 DoEvents Wend Dim HTMLDoc As MSHTML.HTMLDocument Dim HTMLBody As MSHTML.HTMLBody Set HTMLDoc = New MSHTML.HTMLDocument Set HTMLBody = HTMLDoc.body 

请注意,我正在使用Web请求检索页面,而不是先导航到IE中的页面,然后与页面进行交互(这是我通过VBA问题看到的大多数Web自动化问题)。

在检索的页面上,有一个引用的JavaScript文件,其中包含许多函数。 这是我想要调用的函数:

 function addToCart(pid, qty) { if (typeof(pid) == 'string' && pid.indexOf('product options') == 0) { alert('Please choose an in stock option before adding to cart.'); return false; } else if (!parseInt(pid)) return false; } 

因此,我尝试过这样的事情:

HTMLDoc.parentWindow.execScript "addToCart(15622, 1)"

这会产生VBE的“自动化错误”消息。 在这一点上,我基本上不知道我在做什么,我只是试图通过我的研究遇到的东西…我认为这个问题是与缺乏一个实际的IE窗口进行交互,但我可以也完全错了。

任何人都知道我可以如何前进呢?