2016-12-28 1 views
1

問題:ちょっと、私はVBAからウェブページのドロップダウンリストで複数の値を選択しようとしています。VBA経由でhtmlのドロップダウンリストボックスで複数の値を選択

select要素の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)。 JavaScriptを使用できるかどうかを調べることが考えられます。 –

+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つの要素あなたは検索経由で発見した何

関連する問題