はじめまして。過去ログを見て、
下記の方法で「aaa.html」のボタンを押すことはできたのですが
その後で、window.openで開いた「bbb.html」にあるボタンを
クリックしたい場合はどうしたらいいのでしょうか?
環境はWindows2000/XP、VB6です。
よろしくお願いいたします。
-----------------------------------------------------------------
Private WithEvents ie As SHDocVw.InternetExplorer
Private Sub Command1_Click()
Dim url As String
Set ie = New SHDocVw.InternetExplorer
ie.Navigate "http://www.***/aaa.html"
ie.Visible = True
Dim objTarget As Object
Dim objInput As Object
Set objInput = ie.Document.getElementsByTagName("INPUT")
For Each objTarget In objInput
If objTarget.Value = "検索" Then
objTarget.Click 'ここで「bbb.html」が開く
Exit For
End If
Next
End Sub
-----------------------------------------------------------------
■aaa.html
<SCRIPT Language="JavaScript">
function NewWindow(){
var url;
url = "http://www.***/bbb.html";
window.open(url, "","width=400,height=200,status=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,toolbar=no");
</SCRIPT>
<!-- 省略 -->
<input type="button" value="検索" onClick="NewWindow()">
-----------------------------------------------------------------
■bbb.html
<!-- 省略 -->
<input type="button" value="戻る">
-----------------------------------------------------------------
window.open() メソッドの戻り値は、新たに開かれた window への
参照を返しますので、本来は、そちらを使うべきでしょう。
で、もしも html 側の内容を変更できないのであれば、表示された
ウィンドウのハンドルをどうにかして捕らえて、そこから
http://www.mvps.org/emorcillo/en/code/vb6/iedom.shtml
のように、HTML DOM を取得して操作する事になるかと。
魔界の仮面弁士さん、お返事ありがとうございます。
html 側の内容は変更できないので、ウィンドウのハンドルの
捕らえ方と、教えていただいた URL のサンプルを参考にして
HTML DOM の取得の仕方を勉強したいと思います。
もう一つ質問なのですが、
これは「bbb.html」で showModalDialog でダイアログを開いて
そのダイアログにあるボタン等を操作する場合も、同じ考え方を
すればいいのでしょうか?
すみません Visual Basic Q&A掲示板 の方を見たら、
WebBrowserのWeb ページダイアログをコントロールする方法の Q&A が
ありました。
WebBrowserのWeb ページダイアログをコントロールしたい
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200603/06030054.txt
とりあえず、ウィンドウのハンドルの捕らえ方を勉強してみます。
まだサンプルコードを見ている途中ですが、
頑張ればできると思うので、解決とさせていただきます。
魔界の仮面弁士さん、本当にどうもありがとうございました。
ツイート | ![]() |