[VBAでIE操作(TOP)]
[IE関係記事一覧]
[IE関係ブクマ]
[三流君(TOP)]
[VBA(TOP)]
はじめは[WebBrowserを参照設定]から入り
小さな[IE操作のサンプル]でTEST
次に[少し大きなIEを使ったサンプル]
にチャレンジしたり
よく使う.Document:の解説
[.Forms]で入力処理
[.Links]でリンク情報取得
[.Images]で画像の情報
[.Frames]でフレーム処理
[.Script]でスクリプト処理
IE,WebBrowser:
[IE プロパティ(各種設定)]
[IE メソッド(イロイロな動作)]
[IE イベント(発生後処理)]


三流君VBAでIE操作 スクリプト操作 Document.Script

挨拶:VBAで(ExcelやAccessなどから)InternetExplorer WebBrowserを操作してみたいと思います。
Document.Scriptで、スクリプトに触り、イロイロと操作してみたいと思います。
※単純なHTMLだけのページだと楽なんだけど、今はjavaScriptとかで制御しているページがおおくて困ります。。。

間接的な処理?.Clickや.fireEventで起動したり

ケース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を実行させていました。
まぁ、これはこれで正解なんだけど...(ぉぃぉぃ)

Document.Script.setTimeoutもあるので試してみては?

もう少し、直接的な方法があって、下記のように
objIE.Document.Script.setTimeout "javascript:コード", 200
みたいな感じで、Document.Script.setTimeoutでコードが実行可能でした。

下記、実際のテスト動画です。

↑Document.Script.setTimeoutを一度試してみてください
発見した流れは [蛇足 脱線 横道 VBScript IE操作 で javaScriptを実行 Document.Script.setTimeoutをテスト]もみてください。

テストケース2、ボタンに書かれた関数を直接呼ぶ

ソースコードは [ボタンに割り当てられたJavaScriptを実行したい。]をみてください。



JavaScript関数を追加する方法 .createElement("SCRIPT")

めったに使わないのですが、読み込んだページにjavaScriptの関数を追加する方法もあったりします。

VBAから読み込んだページにニセのpromptとalertをぶち込んで、ポップアップメッセージを動作させない、そんなセコイ方法を例題にすると、

    Dim ele As Object  'エレメント(script)を1つ作りたいので。
    Set ele = objIE.document.createElement("SCRIPT")
    
    ele.Type = "text/javascript"
    Dim strJCODE As String   '挿入するコード(文字列)
    strJCODE = "function prompt() { return ('123固定で返したい文字');}"
    strJCODE = strJCODE & vbCrLf & "function alert() {  return ;}"
    ele.Text = strJCODE  'コードをセットする
    
    Call objIE.document.body.appendChild(ele)  '上↑で作った要素・エレメントをドキュメントに挿入する
'↑ここまでで、ニセjavascriptの関数作成終了、あとはいつものように処理すると

実験動画:


詳細・流れは [VBA IE操作 ニセのpromptとalert を 挿入する そんな実験] をみて下さい。

逃げるように 終わりの挨拶

イロイロな切り口でJavascriptの起動が可能なので、みなさんは自分に合った方法で制御してみてくださいね
※まだまだ、確認すること、やることいっぱいだぁ。。。(奥が深いです)




[#MSDN][ページ内のTOPへ戻る]

WebBrowser Control や DHTML など オブジェクトやプロパティの探り方?

ヘルプはどこにあるの?三流なのにどうやって資料を探しどこで勉強したの?
と、質問をいただきます。(自分で調べていきたい読者様の前向きな問い合わせです)
やはり本家Microsoft.comのよく聞く?MSDNを探ってみるのも・・・(あまり深く見ると楽しむ前に挫折しかかるので、下記はほどほどに・・・)

MSDNから探る

英語だけどMSDNの下記の項目を見るとオブジェクトの階層構造がわかりやすいと思います。
MSDN Library - http://msdn.microsoft.com/en-us/library/ms123401.aspx
□□□|--- Internet Explorer Development http://msdn.microsoft.com/en-us/library/aa155133.aspx
深いので省略(オイオイ、意味無いだろTOPからたどらせないと)
□□□□□□□|--- WebBrowser Control http://msdn.microsoft.com/en-us/library/aa752040.aspx

IE Reference for Visual Basic Developers ↓に深く埋まってます(英語ですが)
[http://msdn2.microsoft.com/en-us/library/aa752043.aspx] が 一覧で、その 下に、
InternetExplorer Object [http://msdn.microsoft.com/en-us/library/aa752084.aspx] をクリック
document Object [http://msdn.microsoft.com/en-us/library/ms531073.aspx] をクリック
Collections の 中の all [http://msdn.microsoft.com/en-us/library/ms537434.aspx] をクリック
などして、さまよいながら・・・探したりしてます。(三流ガイドの私も迷ってます)

続きは、[IE Web Browser のプロパティ・メソッドを調べる] を 見てください。


[#Search][ページ内のTOPへ戻る]

番外編 GoogleでoIE,objIE,WebBrowserをKeyWordにして検索

検索エンジンやリンクから、せっかく私のサイトに来ていただいたのですが、下記2つの検索結果がかなり参考になったり・・・するのでは???
IE|oIE|WebBrowser|objIE 魔界の 2つをキーワードにしてGoogleで検索する
(↑かなりの確立で有効な回答が得られると思います、先輩方の回答を見ると謎が解けると思います。私もすらっと回答できる、そんな人になりたいですね。。。)
↓あとは、パターン的にoIE,objIEと変数名を定義している人とWebBrowser1.が多いので、
oIE|objIE|WebBrowserをキーワードにしてGoogleで検索する
も有効かなぁ。※短いサンプルなどが見つかり、参考となるのでは?

さらに検索を紹介すると、[InternetExplorer.application]をキーワードにしてマイクロソフト内を検索する
などなど・・・

↑1歩1歩独自で進めたい人はこんな感じで、実際のコード や 掲示板・ML上の自分と似た質問のやりとりを見ながら進めるのがいいと思います。
※また、BBSやMLの空気を読んで(過去ログも読んで)、上級者がいらっしゃる掲示板に質問を投げてみるのもひとつの手です。
検索に迷ったら(IE操作の道に迷ったら)、objIEoIE さらに InternetExplorer.applicationDocument.All などをキーワードにGoogleやYahooで探ってみてください。

脱線すると、google検索のワンダーホイールって面白い
↓私のよく使う変数 objIEで検索すると
objIEの結果をワンダーホイールで表示
↑なかなか、楽しめそうです。※関連項目の全てが線でつながらないけど(全てつながるとかなり面白いのに。)
googleってすげぇなぁ。


不思議なIEお嬢様、まだまだ攻略できそうにないよね。
えっ、Excel姫やAccessお姉さまも攻略して無いダロって?
※う〜ん、実力無くて、なかなか、攻略できなくて。。。。
何かの参考となれば幸いです。


[#BackNoLink][ページ内のTOPへ戻る]

過去のメールマガジンのリンクが長かったので、下記に移動しました。
[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]
もあわせてみてください。
(↑もしかして書き直さない過去の解説の方がよかったかも?(笑))




[#QA_MESSAGE][ページ内のTOPへ戻る]

ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、

Blog:[サンプルコードのゴミ箱]
動画:[VBA解説・テスト動画]


[三流君(TOPへ)] / [VBAで楽しく] / [記事一覧]
カスタム検索




商品:2ヶ月後の予約関係を紹介(広告)

7月の人気

  1. コンテンツナビ
  2. 写真公開
  3. クチコミブログ
  4. OCN ブログ人
  5. ブログをはじめる
  6. 無料プラン
  7. 有料プラン

続き(一覧)を見る