如何通过Excel VBA调用JavaScript文件(.js)?

如何通过Excel VBA调用JavaScript文件(.js)?


所以,当我反对同样的问题,我会尽量提交给你们我的情况。

我正尝试使用excel vbamacros从valeo的目录中自动提取数据。

我有一个valeo的汽车产品附件列表(巨大的列表,作为超过3000万个项目)。 我想从目录中直接导入信息似乎在JavaScript下运行。

我需要的数据是附加到参考的每个车辆的列表。

以下是url: http : //outcat-cs.tecdoc.net/ows/en/7FA2A0C501BC34CA4BECB04095663CF1.ows_cs2.srv?view=VIndexFramesetJsp

我想访问“直接文章search”选项卡,以便直接复制excel选项卡的单元格中的引用,然后模拟引用上的clic,以显示“链接的车辆部分”,然后复制它们在一个新的Excel表格。

我已经使用以下代码成功完成了这个工作:使用html纯编程的网页(oscaro.com):

Set maPageHtml = IE.document Set Helem = maPageHtml.getElementsByTagName("input") For i = 0 To Helem.Length - 1 If Helem(i).getAttribute("name") = "toFind" Then Helem(i).Value = "819971" '819971 is the valeo reference searched If Helem(i).getAttribute("name") = "submit" Then Set Monbouton = Helem(i) Next Monbouton.Click 'this does the click on my button Monbouton 

但是,这种技术不能用于价值网站,因为我不能够(或至less我不知道如何去做)select/点击一个button,当页面是在JavaScript上,因为它不有一个名称,值或button的ID。

此外,似乎地址栏中的url是相同的,然后点击“直接文章search”button,然后点击….

尽pipe我的英文不错,希望我已经清楚了。

问候

所有以前提出的方法对我来说都很难听。

为了更可靠的解决scheme,通过Windows脚本组件将Javascriptembedded到COM 组件中 ,并像调用其他COM组件一样调用基于Javascript的COM组件。

我不认为有直接的方式来在VBA中运行JavaScript代码。

您可以尝试的是将JavaScript代码embedded到HTML表单中,您可以在(隐藏)浏览器控件中打开该表单。 然后通过浏览器控件的DOM填写表单控件并提交表单。 提交触发您要调用的JavaScript函数。

样品(未testing):

VBA:

 oIE.Document.frmMain.param1.Value = 5 oIE.Document.frmMain.param2.Value = "6" oIE.Document.frmMain.submit.click ' this line will call the JavaScript function 

HTML:

 <div id="submit" > <a href="javascript:doAction();">Do Action</a></div> <script> function doAction() { // do whatever the code should do } </script> 

你的意思是通过Windows脚本宿主? 您可以使用.js文件的名称将shell(使用shell命令)输出到wscript.exe。 但是,这个JavaScript对象模型将不会像你在浏览器中得到的那样。 如果你告诉我们JavaScript应该做什么,这将是有帮助的。