VBAのIE操作で別ウィンドウを開かないようにするには
未読分:2件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#2 2014年10月8日(水)20時17分 From: 管理人 | 返事 削除 変更 |
別ウィンドウが開くということはaタグのtargetが「_blank」で設定されているかと思います。 「_blank」は常に新しいウィンドウで開く設定ですので、自分自身のウィンドウで表示させる「_self」を設定させる必要があります。 こちらは「Target」プロパティで設定できますので、以下のような設定をしてください。 For Each objTag In objIE.document.getElementsByTagName("a") If InStr(objTag.outerHTML, tagStr) > 0 Then ’taegetに"_self"を設定 objTag.Target = "_self" objTag.Click Call ieCheck(objIE) Exit For End If Next Sub ieCheck(objIE As InternetExplorer) Dim timeout As Date timeout = Now + TimeSerial(0, 0, 10) Do While objIE.Busy = True Or objIE.readyState <> 4 DoEvents Sleep 100 If Now > timeout Then objIE.Refresh timeout = Now + TimeSerial(0, 0, 10) End If Loop timeout = Now + TimeSerial(0, 0, 10) Do Until objIE.document.readyState = "complete" DoEvents Sleep 100 If Now > timeout Then objIE.Refresh timeout = Now + TimeSerial(0, 0, 10) End If Loop End Sub |
Message#1 2014年10月6日(月)08時46分 From: アンパンマン | 返事 削除 変更 |
VBAからのIE操作であるサイトのファイルをダウンロードしたいと考えています。 その画面にある「ダウンロード」というボタンを自動クリックするところまでは、うまくいったのですが、こちらをクリックすると、別ウィンドウが立ち上がってしまい、その別ウィンドウの操作がまったくできません。 Shell.Applicationを利用して、開いているIEを掴もうとも考えたのですが、こちらもうまくいかず状態です。 別ウィンドウを制御できる方法でもいいですし、別ウィンドウを開かず既存のIEで処理できる方法どちらでもかまいません。 ようはダウンロードさえできればいいので、よい方法があったら教えてください。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降