Excel VBA将值传递给网站中的文本框

时间:2018-10-23 13:00:41

标签: html excel vba excel-vba web-scraping

嗨,我是excel VBA编码的新手,试图根据excel的输入导航网站并执行一些活动。在这里,我很想将值传递给输入元素,该输入元素会根据我们传递的值在下一个文本框中自动填充值(例如:如果我在目标框中传递了邮政编码,则城市名称将在下一个框中自动填充)传递值,但不会触发自动填充值的JS。

网页中的目标框代码

<input name="zipcode" class="inputBoxRequired" id="zipcode"     onkeypress="return isNumberKey(event)" onblur="getZipCity(this.value,'/ProviderPortal')" type="text" size="46" maxlength="5">

代码已尝试

Set Zip = ie_Doc.getElementById("zipcode")
 Zip.Value = Zip_Code 'Here value gets updated but associated js is not triggered
 ie_Doc.getElementById("zipcode").Focus

甚至尝试过火灾事件

Zip.FireEvent ("onchange")

在网页中它被称为Onkeypress事件,我用谷歌搜索找到了解决方案,但我无法找到确切的解决方案,所以请帮助我。

感谢您的支持

2 个答案:

答案 0 :(得分:4)

Zip.FireEvent ("onkeypress")
Zip.FireEvent ("onblur")  '<== Apparently this did the trick

这些是显示的事件。

答案 1 :(得分:1)

我遇到了相同的情况,用于解决方案验证了这篇文章,而就我而言,我没有“ onblur”标签,因此我进行了一些搜索并提出了解决方案。

Dim event_onChange As Object
Set event_onChange = ie_Doc.createEvent("HTMLEvents")
event_onChange.initEvent "keypress", True, False
Zip.dispatchEvent event_onChange

它将帮助其他面临相同问题的人。