2016-11-17 50 views
0

長時間閱讀器和第一次海報。我有點堅持了爲什麼我似乎無法使用此VBA代碼從IE中選擇從下拉列表中選擇指標: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

的方法是getElementsByNamegetElementByName

IE.document.getElementsByName("ddlReportTemplate")(0).Value = 23 

但由於SelectID我會用ID代替,

IE.document.getElementById("ddlReportTemplate").Value = 23