Excel VBA – 操作Javascript

我已经研究了几个星期的计算器和其他来源来回答这个问题,但一直没能find答案。 我很欣赏可能有间接处理这个话题的其他职位,但是似乎没有解决我所考虑的具体例子的要求,所以我正在冒险和张贴。 我的请求:

在网站www.4-traders.com上有一个input框位于页面顶部中心,用于input公司名称或股票代码。 该页面包含调用JavaScript函数作为input框中的一种types的代码。 javascript在数据库中searchinput文本的最佳匹配,并将javascript函数的输出显示为可供select的浮动列表框。 这个页面的这个组件的代码如下:

<td class="recherche_bl"> <input type="hidden" name="lien" value="recherche"> <input onblur="GlobalSearch.ACblur();" onkeyup="GlobalSearch.ACkeyUp(event)" onkeydown="return GlobalSearch.ACkeyDown(event);" autocomplete="off" type="text" name="mots" id="autocomplete" class="inputrecherche" value="Symbol or Keyword(s)" onclick="document.recherche_menu.mots.value='';GlobalSearch.LoadHisto()"> <input type="image" src="/images/loupe_recherche.png" class="htZo" align="absmiddle" onclick="document.getElementById('noredirect').value='1'"> <input type="hidden" name="RewriteLast" value="zbat"> <input type="hidden" id="noredirect" name="noredirect" value="0"> <input type="hidden" id="type_recherche" name="type_recherche" value="0"> </td> 

GlobalSearch是我感兴趣的javascript函数。我希望Excel VBA以某种方式从GlobalSearch函数的输出中select,然后将值input到表单中。 我现在必须使用sendkeys来完成这个任务,正如大家所知道的那样,它有一些缺点,并且需要在当时打开一个Internet Explorer窗口。 这是我目前使用的代码:

  1. 代码的这个部分之前设置了Ticker的值。
  2. .document是指我之前在代码中创build的Internetexplorer.Application对象。
  3. PauseTime是用来延迟执行代码的过程。
  4. 这两行涉及发送一个“空格”和“退格键”被用来让JavaScript运行(似乎没有一些手动的用户input运行)。 一旦JavaScript运行,我希望程序在列表框中select第一个实例,所以我发送一个“下”键,然后“input”键。
 .document.recherche_menu.mots.Focus .document.forms("recherche_menu")("mots").Value = Ticker PauseTime (2) Application.SendKeys (" ") Application.SendKeys ("{BS}") PauseTime (2) Application.SendKeys ("{DOWN}") Application.SendKeys ("~") 

我真的很感谢一些帮助,弄清楚这一点。 我认为真正的问题是,我没有足够的JavaScript的理解,以编码我需要到Excel VBA。 在此先感谢您的帮助。

康斯坦丁