御覧下さりありがとうございます。
お力をお借りしたく投稿します。
Win10 / Excel2013 / IE11にてVBAを使用したIE制御をしたいのですが
対象のアドレスを読み込むと自動で別ウインドウで表示されてしまい
その後の操作がオートメーションエラーになってしまいます。
色々調べて何とか動くようにはなったのですが問題もありお力を借りたいです。
初心者の為、説明が至らない点も多いかと思いますがよろしくお願いします。
Set objIE = New InternetExplorerMedium ☆objIE.Visible = True ○objIE.navigate “サイトアドレス”
→通常のサイトだと、☆で開いたウインドウでサイトが開くと思うのですが
該当のアドレスを指定すると☆のウインドウが非表示になり
新たな○のウインドウで対象のページに開いてしまいます。(F8で一つずつ試して確認)
TargetFrameNameを_selfにしても新しいウインドウになりました。
申し訳ないのですがサイトは社内のもののため公開出来ません。
その後の処理は☆のウインドウに対して書いていたので当然処理が出来ず接続切れのオートメーションエラーが出ます。
☆のウインドウを閉じて○のウインドウを認識させる為に以下の処理を入れた所なんとか動きました。
☆のウインドウを閉じる Set objShell = CreateObject("Shell.Application") For Each obj In objShell.Windows If obj.name = "Internet Explorer" Then Set objIE2 = obj objIE2.quit Exit For End If Next ○のウインドウを取得 Set objShell = CreateObject("Shell.Application") For Each obj In objShell.Windows If obj.name = "Internet Explorer" Then Set objIE3 = obj Exit For End If Next
前置きが長くすみません、以下が質問になります。
・この方法だと、不必要なウインドウを全て事前に閉じておかないと正しく機能しません。
・力技でウインドウを制御していますがもっと簡潔な方法はあるのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。