IEのサポートがWindows11で完全終了してしまいましたね。(2021/10/05冒頭に追記)
そんな感じで下記の質問が来たので対応策の参考になれば
下記いただいた質問
>ExcelVBAでデータを集め、競輪予想を作っています。
・
・
・
>さて最近、IEのサポート終了が告知されていますが
>WEBからのデータ取得はどのような対処がベターなのでしょうか?ご意見をお聞かせください。
ベター、ベスト、イロイロな考え方がありますが、
1.MSXML2.XMLHTTP などでHTMLを取得して、CreateObject("htmlfile") を使う
下記の例題動画、なんだか私の解説はイマイチだった・・・やはり、素直にSelenium VBAなのかなぁ。
と思いつつ、冒頭で Set objHTML = CreateObject("MSXML2.XMLHTTP")
でHTMLを取得して、使ったサンプルを紹介してみたり
IEサポート終了後の世界 MSXML2.XMLHTTPとCreateObject("htmlfile")を使用してJRAオッズ取得 ワイドのオッズ取得に挑戦してみた
目次
10:08 2.ワイドのオッズを押す
11:55 2.1 strレースを探し、頭出し?
18:47 3.オッズのテーブルを判断して、Excelにワイドオッズを取得
21:37 3.1 tableのcaptionで判断
28:30 4.ワイドの一番人気を探す
31:17 元に戻って、2.4 2回目以降は、レースを選択
他の動画を見る(YouTubeで再生リストを見る)
↑も参考になれば・・無事に移行できるといいですね。 三流プログラマー Ken3
※ソースコードは[MSXML2.XMLHTTPとCreateObject("htmlfile")を使用してJRAオッズ取得]を見てアレンジしてください。
はじめは[WebBrowserを参照設定]から入り [VBAでIE操作解説]やってます。 よく使う.Document:の解説から [.Forms]で入力処理 [.Links]でリンク情報取得 [.Images]で画像の情報 [.Frames]でフレーム処理 [.Script]でスクリプト処理 ...など、まだまだ抜けてますが、 |
手探りで[ヘルプ IEのオブジェクトを探る] IE,WebBrowser: [IE プロパティ(各種設定)] [IE メソッド(イロイロな動作)] [IE イベント(発生後処理)] |
[VBAでIE操作(TOP)] 小さな[IE操作のサンプル]でTEST 次に[少し大きなIEを使ったサンプル] にチャレンジしたり [IE関係記事一覧] [VBA(TOP)] [三流君(TOP)] |
全ての質問には、答えられませんが、リクエストや質問があったら、[作者(三流君)に質問する] から 気軽に送ってください
挨拶:VBAで(ExcelやAccessなどから)InternetExplorer WebBrowserを操作してみたいと思います。
Document.Scriptで、スクリプトに触り、イロイロと操作してみたいと思います。
※単純なHTMLだけのページだと楽なんだけど、今はjavaScriptとかで制御しているページがおおくて困ります。。。
ケース1. .fireEventでJavaScriptのイベントを起動して、onXXXXのイベントに対応
[No.155 IE SELECT後 .fireEventでJavaScriptのイベントを起動]
上記では、fireEventを使い、
objIE.Document.all.JYO.fireEvent ("onchange")
で選択後にonchangeのイベントを発生させました。
ケース2. Aタグのリンクでjavascriptが起動する場合は、.Clickで押して逃げていました。
[No.170 IE Aタグのリンク先を.Click(クリック)してみた]
フレームの先のJavaScriptの起動ができなくて、
苦肉の策でフレームの先のリンク先オブジェクトを探して.Click(クリック)して逃げたり
押したように見せかけたり(.click)、指定したイベントを発生(.fireEvent)させたり
直接的じゃなくて、間接的にjavascriptを実行させていました。
まぁ、これはこれで正解なんだけど...(ぉぃぉぃ)
もう少し、直接的な方法があって、下記のように
objIE.Document.Script.setTimeout "javascript:コード", 200
みたいな感じで、Document.Script.setTimeoutでコードが実行可能でした。
下記、実際のテスト動画です。
↑Document.Script.setTimeoutを一度試してみてください
発見した流れは [蛇足 脱線 横道 VBScript IE操作 で javaScriptを実行 Document.Script.setTimeoutをテスト]もみてください。
テストケース2、ボタンに書かれた関数を直接呼ぶ
ソースコードは [ボタンに割り当てられたJavaScriptを実行したい。]をみてください。
めったに使わないのですが、読み込んだページにjavaScriptの関数を追加する方法もあったりします。
VBAから読み込んだページにニセのpromptとalertをぶち込んで、ポップアップメッセージを動作させない、そんなセコイ方法を例題にすると、
|
イロイロな切り口でJavascriptの起動が可能なので、みなさんは自分に合った方法で制御してみてくださいね
※まだまだ、確認すること、やることいっぱいだぁ。。。(奥が深いです)
過去のメールマガジンのリンクが長かったので、下記に移動しました。
[IE操作 メルマガ 一覧]
よろしくお願いします。
改版履歴 更新情報:過去のIE操作の解説はこちら↓(IE6+XP,IE7+XPの古い記事もアリ)
2009-12-01:[過去の解説 vba_ie_20091201.asp]
2009-06-01:[過去の解説 vba_ie_20090601.asp]
2009-02-01:[過去の解説 vba_ie_20090201.asp]
2008-05-01:[過去の解説 vba_ie_20080501.asp]
2007-08-31:[過去の解説 vba_ie_20070831.asp]
2007-05-20:[過去の解説 vba_ie20070520.asp]
2012-03-19:[過去の解説 vba_ie_20120319.html]
もあわせてみてください。
(↑もしかして書き直さない過去の解説の方がよかったかも?(笑))
せっかくホームページに来ていただいたのに、検索の紹介 ぉぃぉぃ
サイト指定や期間の指定を組み合わせて実行してみてください。
ここまで、読んでいただきどうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、
感想や質問・要望・苦情など 三流君へメッセージを送る。
下記のフォームからメッセージを送ることができます。
[三流君(TOPへ)] / [VBAで楽しく] / [記事一覧] |
カスタム検索
|