2016-11-17 1 views
0

긴 시간 리더 및 첫 번째 포스터.VBA : 인덱스 IE 목록 선택

<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> 

: 여기
IE.document.getElementById("ddlReportTemplate").Focus 
    IE.document.getElementById("ddlReportTemplate").selectedIndex = 23 
    IE.document.getElementById("ddlReportTemplate").FireEvent ("onchange") 

소스 코드입니다 : 나는이 VBA 코드를 사용하여 IE에서 드롭 다운 목록에서 인덱스를 선택하는 것 할 수없는 이유와 조금 붙어있어

또한

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하지

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

그러나 SelectID이 있기 때문에 내가 대신 ID 사용하는 것이 getElementByName, 당신은 당신의 코드를 어떻게 실행됩니까

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