2016-12-28 2 views
1

문제 : 안녕하세요, VBA에서 웹 페이지의 드롭 다운 목록에서 여러 값을 선택하려고합니다.VBA를 통해 html의 드롭 다운 목록 상자에서 여러 값 선택

선택 요소의 HTML 코드는 전체 웹 페이지에서 태그 이름 "선택"을 첫 번째 요소는 이후 내가 objIE.document.getElementsByTagName("select")(0)이 요소를 선택하는 관리

enter image description here

입니다.

objIE.document.getElementsByTagName("select")(0).Value= "E31"이라고 쓰면 값 "E31"이 드롭 상자에 강조 표시됩니다. 괜찮습니다.

그러나 여러 값을 선택하려면 어떻게해야합니까?

나는 objIE.document.getElementsByTagName("select")(0).Value= "E31" + "E32" 또는 objIE.document.getElementsByTagName("select")(0).Value= "E31" & "E32" 시도하지만 ...

EDIT 작동하지 않습니다 또한 시도 : 나는 현재 내가 한 목록의 요소를 다음을 클릭 곳에서 SendKeys 명령을 사용하여이 문제를 해결하기 위해 노력하고있다 SendKeys "+ {DOWN 4}"로 다른 요소를 선택합니다.이 요소는 선택된 처음 요소 아래의 목록에서 4 개 요소를 선택해야합니다.

'objIE.document.getElementsByTagName("select")(0).Children(8).Selected = True' If I activate this line it selects (= highlight) the 9th element of the list 
'objIE.document.getElementsByTagName("select")(0).Children(8).Click'if I activate this line it clicks on the 9th element of the list but doesn't highlight it 
SendKeys "+{DOWN 3}" 

불행히도 이것은 아직 작동하지 않습니다. 또한 here에서 설명한 것처럼 CTRL + MouseLeftClick 키를 보낼 수있는 방법이 있는지 모르겠지만 명령의 경우 은 VBA에서 유효하지 않습니다.

아이디어가 있으십니까?

+0

? 나는 이것 (예 : 1 분 안에 http://stackoverflow.com/questions/15191847/use-getelementbyid-on-htmlelement-instead-of-htmldocument)을 발견했다. 자바 스크립트를 사용할 수 있는지 여부를 조사하는 것이 좋습니다. –

+0

나는 사람이 1 가치를 선정하는 것을 시도하는 포스트를 찾아 냈다 그러나 VBA에서 암호로 고치는 html 명부에있는 다중 가치를 선정하는 방법에 관하여 어떤 논쟁도 아닙니다. 그리고 내가 언급 한 링크와의 관계가 보이지 않습니다. – Seb

답변

1

솔루션 : 좋아요, 실제로는 쉽게 할 수있는 방법을 찾았습니다.

With objIE.document.getElementsByTagName("select")(0) 
    .Children(23).Selected = True 
    .Children(56).Selected = True 
    .Children(98).Selected = True 
End With 

이 명령은 (선택)를 강조합니다 당신이 검색을 통해 발견 한 내용을 3 개 요소

관련 문제