长期读者和第一次海报。我有点陷入困境,为什么我似乎无法使用此VBA代码从IE的下拉列表中选择索引:
IE.document.getElementById("ddlReportTemplate").Focus
IE.document.getElementById("ddlReportTemplate").selectedIndex = 23
IE.document.getElementById("ddlReportTemplate").FireEvent ("onchange")
以下是源代码:
<select name="ddlReportTemplate" class="inputControl" id="ddlReportTemplate" style="width: 308px;" onchange="OnReportTemplateSelectionChanged(event)" autocomplete="off">
<option selected="selected" value="-1">Please select...</option>
<option value="21">Action Closeout Report</option>
<option value="19">Action Status Report</option>
<option value="8">Bi Monthly Report HAZID</option>
<option value="7">Bi Monthly Report HAZOP</option>
<option value="23">Combined Action Summary (Dashboard)</option>
<option value="20">Design Review Dump</option>
<option value="11">HAZOP Action Sheet Population</option>
<option value="22">HAZOP Data Dump</option>
<option value="18">NCOC Actions Closed this week (since 01/01/16)</option>
<option value="17">NCOC Actions Opened/Re-opened (since 01/01/16)</option>
<option value="13">NCOC Project Action Status</option>
<option value="6">Pisys Test</option>
<option value="27">PM660</option>
<option value="5">Project Action Overdue Report</option>
<option value="25">Shell GPS 'live' actions</option>
<option value="9">Test</option>
<option value="15">Weekly update</option>
<option value="10">WEL PSP Report dump</option>
<option value="24">Workpack Specific</option><option value="26">workpack 073</option>
我也试过
With IE
While .Busy Or .readyState <> 4: DoEvents: Wend
IE.document.getElementByName("ddlReportTemplate")(0).Value = 23
IE.document.getElementByName("ddlReportTemplate").FireEvent ("onchange")
End With
我已经将IE定义为IE的对象,它已经打开了网站。
不确定问题出在哪里,但我希望这里有人会成为传奇并找到解决方案。
谢谢:)
PS:不幸的是,我不能发布网址,因为它对公司很敏感。
答案 0 :(得分:0)
该方法为getElementsByName
而非getElementByName
IE.document.getElementsByName("ddlReportTemplate")(0).Value = 23
但由于Select
有ID
,我会改用ID
,
IE.document.getElementById("ddlReportTemplate").Value = 23