<select multiple>
とコンボボックスのチェックボックスタイプで処理をしたいのですが、
Set objSelect = WebBrowser.Document.getElementsByTagName("SELECT")
objSelect(0).SelectedIndex = Combo.ListIndex(他にMultiSelect、いずれもエラーはでませんが、動作しません。)
自分なりにはobjSelect(0).SelectedIndexのSelectedIndexプロパティが違うと思うのですが、他のプロパティがあるのでしょうか?
※下に同じトピックで載せてしまいました。
> <select multiple>
> とコンボボックスのチェックボックスタイプで処理をしたいのですが、
複数選択SELECTコントロール…VB6でいうところの「リストボックス」ですね。
# WebBrowserの場合、Ctrlキーを押しながらクリックする事で、
# 複数の項目を同時に選択する事ができます。
> objSelect(0).SelectedIndex = Combo.ListIndex(他にMultiSelect、いずれもエラーはでませんが、動作しません。)
SELECTオブジェクトのselectedIndexは、単一選択モードの時に使われるプロパティです。
multiple属性が付いている場合、複数の項目が同時に選択される可能性がありますので、selectedIndexプロパティは使えませんね。(multipleの場合、selectedIndexは、選択されている複数の項目のうち、最初のインデックスだけを示します)
替わりに、optionオブジェクトのselectedプロパティを使って見てください。これならば、複数の項目を選択させることが出来ます。
Set objSelect = WebBrowser.Document.frames(1).Document.getElementsByTagName("SELECT")
With ListBox
If .Selected(.ListIndex) = True Then
objSelect(0).Options(.ListIndex).Selected = True
Else
objSelect(0).Options(.ListIndex).Selected = False
End If
End With
としてできました。ありがとうございます。それともう1つ問題が出てきたのですが、
WebBrowser.Document.Forms(0).elements(0).Value = Text1.Text
としたいのですが「オブジェクトはこのメソッドまたはプロパティをサポートしていません。」となります。おそらく、いつもとは違い、タグの中に<fieldset>があるからだと思うのですが解決策はありますでしょうか?とりあえずはWebBrowser.Document.Forms(0).elements(0)は<Input>なのでSet objInput〜で処理しているのですが。。。