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

解決


WEB太郎  2005-05-14 20:02:22  No: 121659

いつもお世話になっています。
次のようなフレーム構成のページで特定のフレーム内の「更新」ボタン
を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 20:48:25  No: 121660

frames(2)もだめですか?


WEB太郎  2005-05-14 21:36:12  No: 121661

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


WEB太郎  2005-05-14 22:06:09  No: 121662

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

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


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加