WEBサイトにチェックボックスがあり、自動でチェックする処理を
入れたいのですが、マウスオーバーであるため、カーソルを当てた状態でないと
チェックされません。
s4-itm-cbxは、チェックボックスについているクラス名です。
Dim ev as DOMEvent set ev = htmldoc2.createEvent("HTMLEvents") For Each checkbox In htmldoc2.getElementsByClassName("s4-itm-cbx") if inStr(checkbox.outerHtml,"type=checkbox") > 0 Then ev.initEvent "mouseover",True,False checkbox.Click Exit for Endif Next
上記のコードを実行してもチェックされません。
試したことは、createEvent("MouseEvents")を行いましたが、
実行するとエラーが出ました。
実行時エラー’2140143607(80700009)
エラー80700009のため操作を完了できませんでした。
と表示されました。
対象の要素をクリックではだめなのでしょうか。
m.ts10806様
要素クリックというのは、getElementsByClassName("s4-itm-cbx")をタグ名のinputで検索
することでしょうか。
mouseover→click
ただ、対象のWebサイトが提示されてないのでなんとも。
m.ts10806様
一部を載せました。
trに関しては、チェックを付けると、なぜかクラス名が変わります。
<tr class="AA" iid="252,2817,0" setedgeborder="true">
<td class="BB">
<input type="checkbox" class="s4-itm-cbx" title style>
</td>
<td height="100%" onmouseover="onchidItem(this)" class="DD">
</td>
</tr>
iidって?
>なぜかクラス名が変わります。
そのようにそのWebサイトが組まれているのでしょう。
提示されてないので推測でしかないですが。
あと、デバッグのときだけうまくチェックされます。
For Each checkbox In htmldoc2.getElementsByClassName("s4-itm-cbx")
checkbox.click
Next