少々分け合って、IEで開いているWebサイトの[あるボタン]を押す必要があります
いろいろ検索して調べて
'IEのハンドル
hWnd = FindWindow("IEFrame", vbNullString)
'ウィンドウハンドルからAccessibleオブジェクトへ
AccessibleObjectFromWindow _
hWnd OBJID_CLIENT, IID_IAccessible, objAcc
'IEFrame------>Frame Tab
Count = objAcc.accChildCount '
ReDim List(Count - 1) As Variant
Ret = AccessibleChildren(objAcc, 0, Count, List(0),Count)
'配下のaccオブジェクトを設定
Set objAccButton = List(lngCount - 1)
これを繰り返して、対象のボタンまで下り
objAccButton.accDoDefaultAction (CHILDID_SELF)
msbbox("ボタン押した")
を実行しているのですが
(1)ボタンを押して、望んでいる状態になることもある
(2)DoDefaultActionが効いていない時でも、エラーが出ない、次行のメッセージ「ボタン押した」が出る
(3)objAccButtonのaccRoleとかaccNameは期待する値を持っており
このオブジェクトは正しくつかんでいる。
こんな状態です。
対象となるサイトは特に複雑なjavascriptや、
動的に何かしているというページではありません。
直前に、serForegroundWindow やら
ループで回して、doevents入れたりしていますがうまく行きません。
何かヒントだけでもお願いします。