フレーム構成の更新ボタンを押すには

解決


WEB太郎  2005-05-14 11:02:22  No: 121659  IP: [192.*.*.*]

いつもお世話になっています。
次のようなフレーム構成のページで特定のフレーム内の「更新」ボタン
をVBから押したいのですがうまくいきません。(Windows XP VB6.0)

FRAME 0 <XXX.html>
FRAME 1 <YYY.html>
FRAME 2 <FRAME SET> 
            FRAME 0 <AAA.html>
            FRAME 1 <BBB.HTML>
                        
XXX.htmlの「更新」ボタンを押すことは、次の記述でできるのですが
With Me
'検索
    Set objDocument = .WebBrowser1.document.frames(0).document
    Set objInput = objDocument.getElementsByTagName("INPUT")
    For Each objTarget In objInput
        If objTarget.Value = "更新" Then
            objTarget.Click
        End If
    Next
End With

BBB.htmlの更新を押すにはどうしたら良いのかわかりません。
Set objDocument = .WebBrowser1.document.frames("BBB.html").document
と記述すると、実行時エラー'-2147352567(8002009)'
例外が発生しました。となります。
frames(3)でも同様です。

BBB.htmlだけを単独で表示させれば簡単なんですが各プレームで表示
されるhtml間がJavaScriptで相互関係にありBBB.htmlだけを表示させ
て「更新」を押しても意味のない結果となり、どうしても全体を表示
中にBBB.htmlの「更新」を押す必要があります。
どなたか解決策をご指導お願いいたします。

編集 削除
通りすがり  2005-05-14 11:48:25  No: 121660  IP: [192.*.*.*]

frames(2)もだめですか?

編集 削除
WEB太郎  2005-05-14 12:36:12  No: 121661  IP: [192.*.*.*]

通りすがり様。ありがとうございます。
frame(2)は単にフレームセットが記述されたページの
ためエラーとはなりませんが、INPUTタグがありません
ので「更新」ボタンは見つかりません。

編集 削除
WEB太郎  2005-05-14 13:06:09  No: 121662  IP: [192.*.*.*]

通りすがりさんのレスもっと深読みすべきでした。
申し訳ありません。

Set objDocument = .WebBrowser1.document.frames(2).document.frames(1).document
Set objInput = objDocument.getElementsByTagName("INPUT")
で解決しました。
ありがとうございました。

編集 削除