【发布时间】:2016-03-04 15:41:03
【问题描述】:
同学们,
我试图用 VBA 进行 IE 自动化。在我遇到这个问题之前,一切都按我的意愿进行。 Enter item no in a input text filed, and then click on link 'RUN Report' to get the report.
问题:点击“运行报告”后,没有为我在文本字段中输入的项目编号提取报告。但是数据库中所有项目的报告。
可能的原因: 链接中有一个onclick函数,我不确定执行“IE.Doucument.getElementById(runReportID).Click”时是否调用了这个函数。我还尝试了“IE.Document.getElementById(runReportID).FireEvent("onclick")”和“IE.Document.parentWindow.execScript("return ValidateDate();", "JavaScript ")",不幸的是,他们没有工作。
当单击“运行报告”按钮时,我不知道如何将我在文本字段中输入的值传递给函数。提交的文本中有事件来完成这项工作吗?
链接“运行报告”和文本字段的 HTML 代码:
<A onclick="return ValidateDate();" id=spsCtrlDefault_ctl02_lbtn_run_qry_rpt title="Click to run report" style="CURSOR: hand; TEXT-DECORATION: none; HEIGHT: 14px; FONT-FAMILY: ariel; FONT-WEIGHT: bold; COLOR: #0033ff" href="javascript:__doPostBack('spsCtrlDefault$ctl02$lbtn_run_qry_rpt','')">[ Run Report ]</A>
<input id="spsCtrlDefault_ctl02_gvQueryColumns_ctl02_txtItem_Code" name="spsCtrlDefault$ctl02$gvQueryColumns$ctl02$txtItem_Code" size="20" class="riTextBox riEnabled" type="text" req_ind="N" tbl_idn="2" value="947519" controltype="text" datatype="varchar" col_idn="1" dbfld="item_revision.item_cde" style="text-transform: uppercase;">
<input id="spsCtrlDefault_ctl02_gvQueryColumns_ctl02_txtItem_Code_ClientState" name="spsCtrlDefault_ctl02_gvQueryColumns_ctl02_txtItem_Code_ClientState" type="hidden" autocomplete="off" value="{"enabled":true,"emptyMessage":"","validationText":"TESTVALUE","valueAsString":"TESTVALUE"}">
链接点击的VBA代码:
IE.Document.getElementById(runReportID).Click
【问题讨论】:
标签: vba ie-automation