InternetExplorer操作
ここではJScriptでInternet Explorer(IE)の操作をする方法について紹介します。 皆さんも恐らくはお待ちかねのコーナーだと思います。 Internet Explorer(IE)の起動や、終了、ホームページ内のボタンを操作したりと、自動化が出来ます。 Webメーラーなどの自動ログインや、毎日回るホームページへの移動も自動化が可能になりますし、使い方によってはすごく便利です。 注意事項として、ここで説明する関数やプロパティについてですが、どうもInternet Explorer(IE)の操作関連の関数やプロパティは謎がとてつもなく多いです。 本ページもさまざまなサイトをめぐり、ようやくまとめたものです。 しかし、正直色々な情報が錯綜しているので本ページで説明する内容が必ずしも合っているとは限りません。 その辺はご容赦ください。 それからInternet Explorer(IE)はバージョンによってコーディングの仕方を変えなければなりません。 バージョンが6と7で大きく変わったことがあります。 ・・そう、バージョン6では新しくウインドウが、バージョン7以降ではタブが追加されるようになりました。 そのため、バージョンが6と7以降ではコーディングの仕方が変わります。 一応、サンプルコードはInternet Explorer(IE)のバージョンが6と7以降で動作する2つを用意しました。 それぞれ、自分の環境に合った方をご参照ください。 2010/8/5時点 多忙により、更新が出来なくなりました。 IE7以降のサンプルの作成はずっと後のほうになると思います。 ご了承ください。
Internet Explorerの起動と終了
Internet Explorer(IE)を起動及び、終了させるには以下のサンプルコードで実現できます。 使用している関数とプロパティの説明は以下となります。
プロパティ名 IEObj.Visible; プロパティ説明 Internet Explorerの表示、非表示を管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理するInternet Explorerの画面の表示状態。 非表示ならfalse、表示状態ならtrue。
関数名 IEObj.Quit(); 関数説明 Internet Explorerアプリケーションを終了させる。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 なし
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerの起動と終了。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に終了します。 ホームページは一切表示しないので、真っ白な画面が表示されるだけです。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
サイトへ移動
Internet Explorer(IE)でGoogleやYahoo! Japan等のサイトを表示するには以下の関数を使用することで実現できます。 それから、今回は使用していませんがNavigate2()関数があります。 関数説明としては一応記述しておきます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。
関数名 IEObj.Navigate( URL, [Flags], [TargetFrameName], [PostData], [Headers] ); 関数説明 指定したURLのホームページを表示する。 指定したURLのホームページのデータをサーバーから読み込み、表示する。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト URL ・・・・・・・表示するホームページのURL文字列 Flags ・・・・・・リソース設定オプション用のフラグ。(省略可) 履歴を残さずホームページを表示したり、キャッシュを 利用せずにサーバーから読み込みページを表示したりする設定を 追加するフラグ。 複数設定する場合は論理和を設定する。 省略した場合は、「0」が設定値になります。 設定値は沢山あったのですが、動作がわからないものは 省略しました。 TargetFrameName ・ドキュメントの読み込み先のフレーム名の文字列。(省略可) 「_blank」を指定すると新しいウインドウで表示される。 省略した場合はnullが指定されます。 正直、「_blank」を指定してしなくても、Flagsの設定値に 新しいウインドウで開くためのものがありますし、 使用用途が今のところわかっておりません。 なので、基本的にnullまたは省略することをお勧めします。 PostData・・・・・POST送信時のPOSTデータ文字列。(省略可) 送信データのNameプロパティと送信値を「=」で 繋げた文字列。 省略した場合はnullが指定されます。 複数のデータの場合は「&」で繋げる(以下、例を参照)。 例:以下の送信するデータがあるときの例。 Nameプロパティ=ID 送信値=100 Nameプロパティ=Name 送信値=Yamada Nameプロパティ=Sex 送信値=Man このときのPostDataに設定する文字列は以下。 PostData = "ID=100&Name=Yamada&Sex=Man" Headers ・・・・・URLがHTTP URLを表すときにサーバーに送られるヘッダー。(省略可) 詳細は筆者にはよくわかっていませんが、PHP等を学習すれば わかってくる可能性はあります。 PostDataの送信にも絡んでくるのでPostDataに送信データを 設定した際は必須となります。 ちなみに、最後尾に改行コードを設定しなければならないので 注意が必要です。 省略した場合はnullが指定されます。 以下、設定値のサンプルです。(正直謎が多いので説明不可) Headers = "Content-Type: application/x-www-form-urlencoded\r\n" [リソース設定オプション用のフラグ]
値 | 内容 | 備考 |
---|---|---|
0 | 既存のウインドウ、履歴、キャッシュを利用する | 規定値 |
1 | 新規ウィンドウで開く | |
2 | キャッシュを読み込まない | |
4 | 履歴を残さない | |
2048 | 新規タブで開く(アクティブ) | IE7以上 |
4096 | 新規タブで開く(非アクティブ) | IE7以上 |
関数名 IEObj.Navigate2( URL, [Flags], [TargetFrameName], [PostData], [Headers] ); 関数説明 指定したURLのホームページを表示する。 指定したURLのホームページのデータをサーバーから読み込み、表示する。 動作的にはNavigate()関数と同じで、引数のURLがNavigate()関数では文字列型、 Navigate2()関数ではVariant型になっているだけです。 こちらのホームページである程度理由が記載されていました。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト URL ・・・・・・・表示するホームページのURL文字列 Flags ・・・・・・リソース設定オプション用のフラグ。(省略可) 履歴を残さずホームページを表示したり、キャッシュを 利用せずにサーバーから読み込みページを表示したりする設定を 追加するフラグ。 複数設定する場合は論理和を設定する。 省略した場合は、「0」が設定値になります。 設定値は沢山あったのですが、動作がわからないものは 省略しました。 TargetFrameName ・ドキュメントの読み込み先のフレーム名の文字列。(省略可) 「_blank」を指定すると新しいウインドウで表示される。 省略した場合はnullが指定されます。 正直、「_blank」を指定してしなくても、Flagsの設定値に 新しいウインドウで開くためのものがありますし、 使用用途が今のところわかっておりません。 なので、基本的にnullまたは省略することをお勧めします。 PostData・・・・・POST送信時のPOSTデータ文字列。(省略可) 送信データのNameプロパティと送信値を「=」で 繋げた文字列。 省略した場合はnullが指定されます。 複数のデータの場合は「&」で繋げる(以下、例を参照)。 例:以下の送信するデータがあるときの例。 Nameプロパティ=ID 送信値=100 Nameプロパティ=Name 送信値=Yamada Nameプロパティ=Sex 送信値=Man このときのPostDataに設定する文字列は以下。 PostData = "ID=100&Name=Yamada&Sex=Man" Headers ・・・・・URLがHTTP URLを表すときにサーバーに送られるヘッダー。(省略可) 詳細は筆者にはよくわかっていませんが、PHP等を学習すれば わかってくる可能性はあります。 PostDataの送信にも絡んでくるのでPostDataに送信データを 設定した際は必須となります。 ちなみに、最後尾に改行コードを設定しなければならないので 注意が必要です。 省略した場合はnullが指定されます。 以下、設定値のサンプルです。(正直謎が多いので説明不可) Headers = "Content-Type: application/x-www-form-urlencoded\r\n" [リソース設定オプション用のフラグ]
値 | 内容 | 備考 |
---|---|---|
0 | 既存のウインドウ、履歴、キャッシュを利用する | 規定値 |
1 | 新規ウィンドウで開く | |
2 | キャッシュを読み込まない | |
4 | 履歴を残さない | |
2048 | 新規タブで開く(アクティブ) | IE7以上 |
4096 | 新規タブで開く(非アクティブ) | IE7以上 |
プロパティ名 IEObj.Busy; プロパティ説明 Internet Explorerが現在、テキストや画像データ等をサーバーから 読み込んでいるかどうかを表すプロパティ。 ホームページ内にframeタグがあって2つ以上のHTMLファイルを読み込む際は、 フレーム毎にフラグが切り替わります。 1つ目のフレームの読み込みが終了したら一旦Falseになり、 次のフレームの読み込み開始時に再びTrueになる。 そのため、frameタグがある場合はページの読み込みが完了したかどうかの判断は出来ない。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理するInternet Explorerの現在読み込み中かどうかを示す値。 読み込み中ならtrue、読み込みが完了ならfalse。
プロパティ名 IEObj.ReadyState; プロパティ説明 Internet Explorerのページの現在の状態を管理するプロパティ。 データの読み込みやデータの読み込み完了等の状態を確認することが出来る。 Busyプロパティと似ていますが、もう少しページの状態が詳細に確認できます。 frameタグがある場合でも全てのHTMLファイルの読み込みが完了したことを確認できます。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理するInternet Explorerの現在の読み込み状態。 [読み込み状態]
値 | 内容 | 備考 |
---|---|---|
0 | 初期化中 | 前回のページデータのクリア時 |
1 | 表示データ読み込み中 | |
2 | 表示データ読み込み完了 | |
3 | データの表示中 | |
4 | 全てのデータが表示終了 |
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // 指定したURLのサイトを表示する。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その3秒後に終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
サイトのURLを取得
Internet Explorer(IE)で表示しているサイトのURLを取得するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.LocationURL; プロパティ説明 Internet Explorerの現在表示しているホームページのURLを管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理するInternet Explorerの現在表示しているページのURL。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerの現時のサイトのURLを取得する。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // サイトのURLを取得 var str = IEApp.LocationURL; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その後、表示しているホームページのURLがメッセージボックスで表示されます。 今回だと「http://www.google.co.jp/」が表示されます。 メッセージボックスを閉じたあとInternet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
サイトのタイトルを取得
Internet Explorer(IE)で表示しているサイトのタイトルを取得するには以下のプロパティを使用することで実現できます。 タイトルというのはタイトルバーの文字列・・・といいたいのですが、厳密に言うとtitleタグで指定した文字列を指します。 以下の画像を参考にしてください。VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.LocationName; プロパティ説明 Internet Explorerの現在表示しているホームページのタイトルを管理するプロパティ。 HTMLファイルのtitleタグに記載した文字列が管理対象となっている。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理するInternet Explorerの現在表示しているページのtitleタグ に記載されている文字列。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // 指定したURLのサイトのHTMLソースコードの<TITLE>〜</TITLE>までの // 文字列を取得。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // サイト内の<TITLE>部の文字列を取得 var str = IEApp.LocationName; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その後、表示しているホームページのタイトルがメッセージボックスで表示されます。 実際表示されるのはHTMLファイルの<TITLE>〜</TITLE>の間にある文字列を表示します。 今回だと「Google」が表示されます。 メッセージボックスを閉じたあとInternet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
サイト内の文字列を取得
Internet Explorer(IE)で表示しているサイトの表示されている文字列を取得するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.Document.body.innerText; プロパティ説明 Internet Explorerの現在表示しているホームページのbodyタグ内の中で実際に ページとして表示される文字列を管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト Document・・・・・ホームページの文書の状態の参照と設定を管理するプロパティ body・・・・・・・詳細は謎に包まれていますが、bodyタグに記載されているHTML要素 コレクション等を格納しているオブジェクトと予想されます。 戻り値 IEObjが管理するInternet Explorerが現在表示しているページの 実際表示されている全ての文字列。
プロパティ名 IEObj.Document.body.innerHTML; プロパティ説明 Internet Explorerの現在表示しているホームページのbodyタグ内の中に記載されている HTMLコード文字列を管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト Document・・・・・ホームページの文書の状態の参照と設定を管理するプロパティ body・・・・・・・詳細は謎に包まれていますが、bodyタグに記載されているHTML要素 コレクション等を格納しているオブジェクトと予想されます。 戻り値 IEObjが管理するInternet Explorerが現在表示しているページの bodyタグ内に記述されている全てのHTML文字列。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // 指定したURLのサイトのHTMLソースコードの<BODY>〜</BODY>までの // 文字列を取得。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // サイト内の<BODY>部の文字列を取得 var str = IEApp.Document.body.innerText; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その後、表示しているホームページ内の文章をがメッセージボックスで表示されます。 実際表示されるのはHTMLファイルの<BODY>〜</BODY>の間にあり、実際にページに表示される文字列を表示します。 メッセージボックスを閉じたあとInternet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // 指定したURLのサイトのHTMLソースコードの<BODY>〜</BODY>までの // HTMLソースコードを取得。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // サイト内の<BODY>部のHTMLソースコードを取得 var str = IEApp.Document.body.innerHTML; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その後、表示しているホームページのソース内の<BODY>〜</BODY>に記述されているHTML文書がメッセージボックスで表示されます。 メッセージボックスを閉じたあとInternet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
ステータスバーの文字列を設定
Internet Explorer(IE)のステータスバーの文字列を設定するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.StatusText; プロパティ説明 Internet Explorerのステータスバーの文字列を管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理するInternet Explorerのステータスバーに設定されている文字列。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのステータスバーに文字列を設定する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // ステータスバーに文字列をを設定 IEApp.StatusText = "テスト"; WScript.Sleep( 1000 ); WScript.Echo( "ステータスバーを確認してください。" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その後、Internet Explorer(IE)アプリケーションのステータスバーに「テスト」が表示されます。 その1秒後にステータスバーの確認を促すメッセージボックスが表示されます。 メッセージボックスを閉じたあとInternet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ステータスバーの文字列を取得
Internet Explorer(IE)のステータスバーの文字列を取得するには以下のサンプルコードで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 StatusTextプロパティについてはステータスバーの文字列を設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのステータスバーの文字列を取得する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // ステータスバーに表示されている文字列を取得 var str = IEApp.StatusText; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その後、Internet Explorer(IE)アプリケーションのステータスバーの文字列がメッセージボックスで表示されます。 通常何もせずに、待っていれば「ページが表示されました」と表示されるはずです。 その後、メッセージボックスを閉じたあとInternet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
前のページに戻る
Internet Explorer(IE)で前の画面へ戻るには以下の関数を使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
関数名 IEObj.GoBack(); 関数説明 Internet Explorerの一つ前のページへ戻ることができます。 「戻る」ボタンと同様の機能です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 なし
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerの前のページへ戻る。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // Yahoo Japanトップを表示 IEApp.Navigate( "http://www.yahoo.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // 前のページに戻る IEApp.GoBack(); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にYahoo Japanトップが表示されます。 さらにその1秒後に前の画面(Googleトップ)へ戻ります。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
次のページへ進む
Internet Explorer(IE)で次の画面へ進むには以下の関数を使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 GoBack()関数については前のページに戻るを参照してください。
関数名 IEObj.GoForward(); 関数説明 Internet Explorerの一つ次のページへ進むことができます。 「進む」ボタンと同様の機能です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 なし
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerの次のページへ進む。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // Yahoo Japanトップを表示 IEApp.Navigate( "http://www.yahoo.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // 前のページに戻る IEApp.GoBack(); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // 次のページへ進む IEApp.GoForward(); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にYahoo Japanトップが表示されます。 さらにその1秒後に前の画面(Googleトップ)へ戻ります。 さらにその1秒後に次の画面(Yahoo Japanトップ)へ進みます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ホームを表示
Internet Explorer(IE)でホームとして設定してあるページを表示するには以下の関数を使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
関数名 IEObj.GoHome(); 関数説明 Internet Explorerにすでにホームとして設定されているページを表示させます。 「ホーム」ボタンと同様の機能です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 なし
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのホームに設定されているページを表示する。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // ホームを表示 IEApp.GoHome(); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にホームに設定されているページを表示します。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ページを更新
Internet Explorer(IE)で表示しているWebページを更新するには以下の関数を使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
関数名 IEObj.Refresh(); 関数説明 Internet Explorerに表示しているWebページを更新します。 「更新」ボタンと同様の機能です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 なし
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerの画面を更新する。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // 画面を更新 IEApp.Refresh(); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にGoogleトップページを更新します。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ウインドウの位置を設定
Internet Explorer(IE)のウインドウの位置を設定するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.Left; プロパティ説明 Internet ExplorerのウインドウのX座標の位置を管理するプロパティ。 ウインドウの左上のポイントの横方向の位置を操作することが出来ます。 単位はピクセル(px)です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理しているウインドウの左上の座標の横(X座標)方向の位置。 単位はピクセル(px)。
プロパティ名 IEObj.Top; プロパティ説明 Internet ExplorerのウインドウのY座標の位置を管理するプロパティ。 ウインドウの左上のポイントの縦方向の位置を操作することが出来ます。 単位はピクセル(px)です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理しているウインドウの左上の座標の縦(Y座標)方向の位置。 単位はピクセル(px)。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのウインドウの位置を設定する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // ウインドウの左上部のX座標を設定(800px) IEApp.Left = 800; // ウインドウの左上部のY座標を設定(600px) IEApp.Top = 600; WScript.Sleep( 1000 ); // ウインドウの左上部のX座標を設定(50px) IEApp.Left = 50; // ウインドウの左上部のY座標を設定(50px) IEApp.Top = 50; WScript.Sleep( 1000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にウインドウの位置をディスプレイの左上の位置からX座標を800px、Y座標を600pxに移動します(右下の方に移動)。 さらにその1秒後にウインドウの位置をディスプレイの左上の位置からX座標を50px、Y座標を50pxに移動します(左上の方に移動)。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ウインドウの位置を取得
Internet Explorer(IE)のウインドウの位置を取得するには以下のサンプルコードで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 Leftプロパティについてはウインドウの位置を設定を参照してください。 Topプロパティについてはウインドウの位置を設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのウインドウの位置を取得する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // ウインドウの左上部のX座標を取得 var x = IEApp.Left; // ウインドウの左上部のY座標を取得 var y = IEApp.Top; WScript.Echo( "X=" + x + "px\nY=" + y + "px" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にウインドウの位置(ディスプレイの左上の位置をX座標を0px、Y座標を0pxとしたときのウインドウの位置)をメッセージボックスで表示します。 その後、メッセージボックスを閉じるとInternet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ウインドウのサイズを設定
Internet Explorer(IE)のウインドウのサイズを設定するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.Width; プロパティ説明 Internet Explorerのウインドウの横幅のサイズを管理するプロパティ。 ウインドウの横幅の設定と取得が可能です。 単位はピクセル(px)です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理しているウインドウの横幅。 単位はピクセル(px)。
プロパティ名 IEObj.Height; プロパティ説明 Internet Explorerのウインドウの縦幅のサイズを管理するプロパティ。 ウインドウの縦幅の設定と取得が可能です。 単位はピクセル(px)です。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 IEObjが管理しているウインドウの縦幅。 単位はピクセル(px)。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのウインドウサイズを設定する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // 幅を設定(320px) IEApp.Width = 320; // 高さを設定(240px) IEApp.Height = 240; WScript.Sleep( 1000 ); // 幅を設定(640px) IEApp.Width = 640; // 高さを設定(480px) IEApp.Height = 480; WScript.Sleep( 1000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にウインドウのサイズを横320ピクセル(px)、縦240ピクセル(px)に設定します。 さらにその1秒後にウインドウのサイズを横640ピクセル(px)、縦480ピクセル(px)に設定します。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
ウインドウのサイズを取得
Internet Explorer(IE)のウインドウのサイズを取得するには以下のサンプルコードで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 Widthプロパティについてはウインドウのサイズを設定を参照してください。 Heightプロパティについてはウインドウのサイズを設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのウインドウサイズを取得する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // 幅を取得 var w = IEApp.Width; // 高さを取得 var h = IEApp.Height; WScript.Echo( "幅=" + w + "px\n高さ=" + h + "px" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にウインドウのサイズ(幅と高さ)をメッセージボックスで表示します。 その後、メッセージボックスを閉じるとInternet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
フルスクリーン表示
Internet Explorer(IE)の画面をフルスクリーン表示するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.FullScreen; プロパティ説明 Internet Explorerをウインドウ表示とフルスクリーン表示の切り替えを 管理するプロパティ。 設定する値はブール値となっていて、trueならフルスクリーン表示、 falseならウインドウ表示になります。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 現在の画面表示状態。 trueならフルスクリーン状態、falseならウインドウ状態。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのウインドウをフルスクリーンで表示する。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Googleトップを表示 IEApp.Navigate( "http://www.google.co.jp/" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フルスクリーンで表示 IEApp.FullScreen = true; WScript.Sleep( 3000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にGoogleトップを表示します。 その1秒後にウインドウをフルスクリーン表示させます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE7〜8)]
[実行結果2(IE7〜8)]
バーの表示・非表示を設定
Internet Explorer(IE)の画面のメニューバー、ツールバー、ステータスバーの表示、非表示を設定するには以下のプロパティを使用することで実現できます。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.MenuBar; プロパティ説明 Internet Explorerのメニューバーの表示、非表示の切り替えを 管理するプロパティ。 設定する値はブール値となっていて、trueなら表示、 falseなら非表示になります。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 現在のメニューバーの表示状態。 trueなら表示、falseなら非表示。
プロパティ名 IEObj.ToolBar; プロパティ説明 Internet Explorerのツールバーの表示、非表示の切り替えを 管理するプロパティ。 設定する値はブール値となっていて、trueなら表示、 falseなら非表示になります。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 現在のツールバーの表示状態。 trueなら表示、falseなら非表示。
プロパティ名 IEObj.StatusBar; プロパティ説明 Internet Explorerのステータスバーの表示、非表示の切り替えを 管理するプロパティ。 設定する値はブール値となっていて、trueなら表示、 falseなら非表示になります。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト 戻り値 現在のステータスバーの表示状態。 trueなら表示、falseなら非表示。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのメニューバーの表示、非表示を設定する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // メニューバーを非表示 IEApp.MenuBar = false; WScript.Sleep( 1000 ); // メニューバーを表示 IEApp.MenuBar = true; WScript.Sleep( 1000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後にメニューバーを非表示にします。 その1秒後に、メニューバーを表示します。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのツールバーの表示、非表示を設定する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // ツールバーを非表示 IEApp.ToolBar = false; WScript.Sleep( 1000 ); // ツールバーを表示 IEApp.ToolBar = true; WScript.Sleep( 1000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後にツールバーを非表示にします。 その1秒後に、ツールバーを表示します。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのステータスバーの表示、非表示を設定する。 // // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // ステータスバーを非表示 IEApp.StatusBar = false; WScript.Sleep( 1000 ); // ステータスバーを表示 IEApp.StatusBar = true; WScript.Sleep( 1000 ); // Internet Explorerを終了 IEApp.Quit(); WScript.Echo( "終了" ); // オブジェクトを解放 IEApp = null;
[実行結果3(IE6)]
Internet Explorer(IE)を起動し、3秒後にステータスバーを非表示にします。 その1秒後に、ステータスバーを表示します。 その後、Internet Explorer(IE)を終了します。
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
[サンプルコード5(IE7〜8)]
[実行結果5(IE7〜8)]
[サンプルコード6(IE7〜8)]
[実行結果6(IE7〜8)]
ボタンを押す
Internet Explorer(IE)の画面のボタンを押すには以下のプロパティを使用することで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
プロパティ名 IEObj.Document.forms( fmID, [index] ); プロパティ説明 Internet Explorerの表示しているページ内のフォーム(form)コレクションを 管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト Document・・・・・ホームページの文書の状態の参照と設定を管理するプロパティ fmID・・・・・・・フォーム(form)コレクションから一つのformオブジェクトを指定する ために指定するName要素(formタグ内のName要素に指定されている値) または0から始まる番号(ページ内の上から順番に記述されている formタグの番号)。 index ・・・・・・fmIDでフォーム名を指定した場合(番号でない)にのみ指定し、 同一のフォーム名が存在するときに使用する0から始まる番号。 省略可能で、省略時は0が設定されていると想定できます( 正直、本当のことは不明)。 戻り値 IEObjが管理するInternet Explorerが現在表示しているページ内に含まれている フォーム(<form>〜</form>)のうち指定したformオブジェクト。
プロパティ名 form.item( itemID, [index] ); プロパティ説明 Internet Explorerの表示しているページのフォーム内の コントロールコレクションを管理するプロパティ。 引数 form・・・・・・・formオブジェクト(上記forms()プロパティの戻り値)。 itemID・・・・・・コントロールコレクションから一つのコントロールオブジェクトを 指定するために指定するName要素。 または0から始まる番号(formタグ内の上から順番に記述されている コントロールの番号)。 index ・・・・・・itemIDでコントロール名を指定した場合(番号でない)にのみ指定し、 同一のフォーム名が存在するときに使用する0から始まる番号。 省略可能で、省略時は0が設定されていると想定できます( 正直、本当のことは不明)。 戻り値 formが管理するコントロールのうち指定したコントロールオブジェクト。
関数名 button.click(); 関数説明 Internet Explorerのボタンコントロールをクリックします。 引数 button・・・・・・buttonコントロールオブジェクト 戻り値 なし
プロパティ名 IEObj.Document.all( itemID, [index] ); プロパティ説明 Internet Explorerの表示しているページ内の全てのタグ要素(<body>や <table>や<input>や<select>等)コレクションを管理するプロパティ。 引数 IEObj ・・・・・・Internet Explorer操作用オブジェクト Document・・・・・ホームページの文書の状態の参照と設定を管理するプロパティ itemID・・・・・・タグ要素コレクションから一つのタグ要素オブジェクトを 指定するために指定するName要素(コントロールのName要素 を指定することでコントロールオブジェクトを取得できる)。 または0から始まる番号(HTMLファイル内の全てのタグの内、 上から順番に記述されているタグの番号・・・と思うんですが、 かなり複雑な仕様となっているようで解明不可能。 数字での指定はしないことをお勧めします)。 index ・・・・・・itemIDで番号を指定した場合(番号でない)にのみ指定し、 同一のName属性が存在するときに使用する0から始まる番号。 省略可能で、省略時は0が設定されていると想定できます( 正直、本当のことは不明)。 戻り値 IEObjが管理するInternet Explorerが現在表示しているページ内タグ要素オブジェクト。 コントロール名を指定した場合はそのコントロールオブジェクトを取得できます。 正直何が返ってくるかはコーディングしている本人しだいです。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのボタンを押す。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とボタン(Type:submit)の // Nameプロパティからボタンオブジェクトを取得 var Button = IEApp.Document.forms( "fm1" ).item( "SubmitButton1" ); // ボタンを押す Button.click(); WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、送信ボタンを押下します。 送信ボタンが押されることで、実験用ページ(移動用)が表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのボタンを押す。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // ボタン(Type:button)のNameプロパティからボタンオブジェクトを取得 var Button = IEApp.Document.all( "GoButton" ); // ボタンを押す Button.click(); WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、送信ボタンを押下します。 送信ボタンが押されることで、実験用ページ(移動用)が表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
テキストボックスに文字を設定
Internet Explorer(IE)の画面のテキストボックスに文字を設定するには以下のプロパティを使用することで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。
プロパティ名 textbox.value; プロパティ説明 Internet Explorerのテキストボックスに設定されている文字列を 管理するプロパティ。 引数 textbox ・・・・・textboxコントロールオブジェクト 戻り値 textboxコントロールに入力されている文字列。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのテキストボックスに値を設定する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とテキストボックスの // Nameプロパティからテキストボックスオブジェクトを取得 var TextBox1 = IEApp.Document.forms( "fm1" ).item( "TextBox1" ); var TextBox2 = IEApp.Document.forms( "fm1" ).item( "TextBox2" ); // テキストボックスに値を設定 TextBox1.value = "田中 太郎"; TextBox2.value = "タナカ タロウ"; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、氏名のテキストボックスに「田中 太郎」が設定され、フリガナのテキストボックスに「タナカ タロウ」が設定されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのテキストボックスに値を設定する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // テキストボックスのNameプロパティからテキストボックスオブジェクトを取得 var TextBox1 = IEApp.Document.all( "TextBox1" ); var TextBox2 = IEApp.Document.all( "TextBox2" ); // テキストボックスに値を設定 TextBox1.value = "田中 太郎"; TextBox2.value = "タナカ タロウ"; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、氏名のテキストボックスに「田中 太郎」が設定され、フリガナのテキストボックスに「タナカ タロウ」が設定されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
テキストボックスの文字を取得
Internet Explorer(IE)の画面のテキストボックスの文字を取得するには以下のサンプルコードで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。 textbox.valueプロパティについてはテキストボックスに文字を設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのテキストボックスの値を取得する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とテキストボックスの // Nameプロパティからテキストボックスオブジェクトを取得 var TextBox1 = IEApp.Document.forms( "fm1" ).item( "TextBox1" ); var TextBox2 = IEApp.Document.forms( "fm1" ).item( "TextBox2" ); // テキストボックスから値を取得 var str = "[fm1]\n"; str += "TextBox1=" + TextBox1.value + "\n"; str += "TextBox2=" + TextBox2.value; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、氏名のテキストボックスとフリガナのテキストボックスに設定されている文字列がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのテキストボックスの値を取得する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // テキストボックスのNameプロパティからテキストボックスオブジェクトを取得 var TextBox1 = IEApp.Document.all( "TextBox1" ); var TextBox2 = IEApp.Document.all( "TextBox2" ); // テキストボックスから値を取得 var str = "[フォームなし]\n"; str += "TextBox1=" + TextBox1.value + "\n"; str += "TextBox2=" + TextBox2.value; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、氏名のテキストボックスとフリガナのテキストボックスに設定されている文字列がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
チェックボックスにチェック状態を設定
Internet Explorer(IE)の画面のチェックボックスのチェック状態を設定するには以下のプロパティを使用することで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。
プロパティ名 checkbox.checked; プロパティ説明 Internet Explorerのチェックボックスのチェック状態を 管理するプロパティ。 引数 checkbox・・・・・checkboxコントロールオブジェクト 戻り値 checkboxコントロールのチェック状態。 チェックされている場合はtrue、チェックされていない場合は falseが戻り値になります。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのチェックボックスのチェック状態を設定する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とチェックボックスの // Nameプロパティからチェックボックスオブジェクトを取得 var CheckBox1 = IEApp.Document.forms( "fm1" ).item( "Dog" ); var CheckBox2 = IEApp.Document.forms( "fm1" ).item( "Cat" ); var CheckBox3 = IEApp.Document.forms( "fm1" ).item( "Bird" ); var CheckBox4 = IEApp.Document.forms( "fm1" ).item( "Fish" ); // チェックボックスのチェック状態を設定 CheckBox1.checked = false; CheckBox2.checked = true; CheckBox3.checked = true; CheckBox4.checked = true; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、ペットのチェックボックスのチェック状態が変更されます。 変更内容は、以下のとおりです。 犬:OFF 猫:ON 鳥:ON 魚:ON その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのチェックボックスのチェック状態を設定する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // チェックボックスのNameプロパティからチェックボックスオブジェクトを取得 var CheckBox1 = IEApp.Document.all( "Dog" ); var CheckBox2 = IEApp.Document.all( "Cat" ); var CheckBox3 = IEApp.Document.all( "Bird" ); var CheckBox4 = IEApp.Document.all( "Fish" ); // チェックボックスのチェック状態を設定 CheckBox1.checked = false; CheckBox2.checked = true; CheckBox3.checked = true; CheckBox4.checked = true; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、ペットのチェックボックスのチェック状態が変更されます。 変更内容は、以下のとおりです。 犬:OFF 猫:ON 鳥:ON 魚:ON その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
チェックボックスのチェック状態を取得
Internet Explorer(IE)の画面のチェックボックスのチェック状態を取得するには以下のサンプルコードで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。 checkbox.checkedプロパティについてはチェックボックスにチェック状態を設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのチェックボックスのチェック状態を取得する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とチェックボックスの // Nameプロパティからチェックボックスオブジェクトを取得 var CheckBox1 = IEApp.Document.forms( "fm1" ).item( "Dog" ); var CheckBox2 = IEApp.Document.forms( "fm1" ).item( "Cat" ); var CheckBox3 = IEApp.Document.forms( "fm1" ).item( "Bird" ); var CheckBox4 = IEApp.Document.forms( "fm1" ).item( "Fish" ); // チェックボックスのチェック状態を取得 var str = "[fm1]\n"; str += "Dog=" + CheckBox1.checked + "\n"; str += "Cat=" + CheckBox2.checked + "\n"; str += "Bird=" + CheckBox3.checked + "\n"; str += "Fish=" + CheckBox4.checked; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、ペットのチェックボックスのチェック状態がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのチェックボックスのチェック状態を取得する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // チェックボックスのNameプロパティからチェックボックスオブジェクトを取得 var CheckBox1 = IEApp.Document.all( "Dog" ); var CheckBox2 = IEApp.Document.all( "Cat" ); var CheckBox3 = IEApp.Document.all( "Bird" ); var CheckBox4 = IEApp.Document.all( "Fish" ); // チェックボックスのチェック状態を取得 var str = "[フォームなし]\n"; str += "Dog=" + CheckBox1.checked + "\n"; str += "Cat=" + CheckBox2.checked + "\n"; str += "Bird=" + CheckBox3.checked + "\n"; str += "Fish=" + CheckBox4.checked; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、ペットのチェックボックスのチェック状態がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
ラジオボタンにチェック状態を設定
Internet Explorer(IE)の画面のラジオボタンのチェック状態を設定するには以下のプロパティを使用することで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。
プロパティ名 radiobutton.checked; プロパティ説明 Internet Explorerのラジオボタンのチェック状態を 管理するプロパティ。 引数 radiobutton ・・・radioコントロールオブジェクト 戻り値 radioコントロールのチェック状態。 チェックされている場合はtrue、チェックされていない場合は falseが戻り値になります。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのラジオボタンのチェック状態を設定する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とラジオボタンの // Nameプロパティからラジオボタンオブジェクトを取得 // (ラジオボタンは同一のNameプロパティを指定して同一のグループ // であることがわかるようにいるので、itemプロパティで何個目の // ラジオボタンかを指定) var RadioButton1 = IEApp.Document.forms( "fm1" ).item( "RadioButton1", 0 ); //男 var RadioButton2 = IEApp.Document.forms( "fm1" ).item( "RadioButton1", 1 ); //女 // ラジオボタンから値を取得 //RadioButton1.checked = true; RadioButton2.checked = true; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、性別の女のラジオボタンがチェックされます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのラジオボタンのチェック状態を設定する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http:"//3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // ラジオボタンのNameプロパティからラジオボタンオブジェクトを取得 // (ラジオボタンは同一のNameプロパティを指定して同一のグループ // であることがわかるようにいるので、itemプロパティで何個目の // ラジオボタンかを指定) var RadioButton1 = IEApp.Document.all( "RadioButton1", 0 ); //男 var RadioButton2 = IEApp.Document.all( "RadioButton1", 1 ); //女 // ラジオボタンから値を取得 //RadioButton1.checked = true; RadioButton2.checked = true; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、性別の女のラジオボタンがチェックされます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
ラジオボタンのチェック状態を取得
Internet Explorer(IE)の画面のラジオボタンのチェック状態を取得するには以下のサンプルコードで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。 radiobutton.checkedプロパティについてはラジオボタンにチェック状態を設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのラジオボタンのチェック状態を取得する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とラジオボタンの // Nameプロパティからラジオボタンオブジェクトを取得 // (ラジオボタンは同一のNameプロパティを指定して同一のグループ // であることがわかるようにいるので、itemプロパティで何個目の // ラジオボタンかを指定) var RadioButton1 = IEApp.Document.forms( "fm1" ).item( "RadioButton1", 0 ); //男 var RadioButton2 = IEApp.Document.forms( "fm1" ).item( "RadioButton1", 1 ); //女 // ラジオボタンから値を取得 var str = "[fm1]\n"; str += "男=" + RadioButton1.checked + "\n"; str += "女=" + RadioButton2.checked; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、性別のラジオボタンのチェック状態がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのラジオボタンのチェック状態を取得する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http:"//3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // ラジオボタンのNameプロパティからラジオボタンオブジェクトを取得 // (ラジオボタンは同一のNameプロパティを指定して同一のグループ // であることがわかるようにいるので、itemプロパティで何個目の // ラジオボタンかを指定) var RadioButton1 = IEApp.Document.all( "RadioButton1", 0 ); //男 var RadioButton2 = IEApp.Document.all( "RadioButton1", 1 ); //女 // ラジオボタンから値を取得 var str = "[fm1]\n"; str += "男=" + RadioButton1.checked + "\n"; str += "女=" + RadioButton2.checked; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、性別のラジオボタンのチェック状態がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
リストボックスの選択内容を設定
Internet Explorer(IE)の画面のリストボックス(プルダウン)の項目を選択するには以下のプロパティを使用することで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。
プロパティ名 listbox.selectedIndex; プロパティ説明 Internet Explorerのリストボックス(プルダウン)の 選択している項目のインデックス値を管理するプロパティ。 0から始まるインデックス値で、一番上の項目には0が対応しています。 引数 listbox ・・・・・selectコントロールオブジェクト 戻り値 selectコントロールの現在選択しているインデックス値。
プロパティ名 listbox.value; プロパティ説明 Internet Explorerのリストボックス(プルダウン)の 選択している項目のvalue値を管理するプロパティ。 HTML文書内で、optionタグ内のvalue値が記載されている場合のみ 有効なプロパティとなります。 引数 listbox ・・・・・selectコントロールオブジェクト 戻り値 selectコントロールの現在選択しているvalue値。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのリストボックスの選択値を設定する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とリストボックスの // Nameプロパティからリストボックスオブジェクトを取得 var ListBox1 = IEApp.Document.forms( "fm1" ).item( "ListBox1" ); var ListBox2 = IEApp.Document.forms( "fm1" ).item( "ListBox2" ); var ListBox3 = IEApp.Document.forms( "fm1" ).item( "ListBox3" ); // リストボックスの選択値を設定(selectedIndex値) ListBox1.selectedIndex = 9; ListBox2.selectedIndex = 5; ListBox3.selectedIndex = 20; WScript.Sleep( 3000 ); // リストボックスの選択値を設定(value値) ListBox1.value = "2010"; ListBox2.value = "4"; ListBox3.value = "31"; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、生年月日の選択項目が設定されます。 設定項目は以下のとおりです。 年:上から10番目の項目(2001) 月:上から6番目の項目(6) 日:上から21番目の項目(21) その3秒後にさらに、生年月日の選択項目が以下のとおりに再設定されます。 年:optionタグのvalue値が2010の項目(2010) 月:optionタグのvalue値が4の項目(4) 日:optionタグのvalue値が31の項目(31) その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのリストボックスの選択値を設定する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // リストボックスのNameプロパティからリストボックスオブジェクトを取得 var ListBox1 = IEApp.Document.all( "ListBox1" ); var ListBox2 = IEApp.Document.all( "ListBox2" ); var ListBox3 = IEApp.Document.all( "ListBox3" ); // リストボックスの選択値を設定(selectedIndex値) ListBox1.selectedIndex = 9; ListBox2.selectedIndex = 5; ListBox3.selectedIndex = 20; WScript.Sleep( 3000 ); // リストボックスの選択値を設定(value値) ListBox1.value = "2010"; ListBox2.value = "4"; ListBox3.value = "31"; WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、生年月日の選択項目が設定されます。 設定項目は以下のとおりです。 年:上から10番目の項目(2001) 月:上から6番目の項目(6) 日:上から21番目の項目(21) その3秒後にさらに、生年月日の選択項目が以下のとおりに再設定されます。 年:optionタグのvalue値が2010の項目(2010) 月:optionタグのvalue値が4の項目(4) 日:optionタグのvalue値が31の項目(31) その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
リストボックスの選択内容を取得
Internet Explorer(IE)の画面のリストボックス(プルダウン)の現在選択している項目を取得するには以下のサンプルコードで実現できます。 今回、本サンプルコードを実行するに当たり、私が作成した実験用ページ1と実験用ページ2を使っています。 ここで紹介している内容はググッて調べたものをまとめたものですが、実際には他にも方法があったりします。 他の方法についてはここでは紹介しません。 ちなみに、その他の方法はJavaScriptを丹念にググれば見つかると思います。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。 IEObj.Document.forms()プロパティについてはボタンを押すを参照してください。 form.item()プロパティについてはボタンを押すを参照してください。 IEObj.Document.all()プロパティについてはボタンを押すを参照してください。 listbox.selectedIndexプロパティについてはリストボックスの選択内容を設定を参照してください。 listbox.valueプロパティについてはリストボックスの選択内容を設定を参照してください。[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのリストボックスの値を取得する。(送信フォームあり) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage1.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // フォーム名とリストボックスの // Nameプロパティからリストボックスオブジェクトを取得 var ListBox1 = IEApp.Document.forms( "fm1" ).item( "ListBox1" ); var ListBox2 = IEApp.Document.forms( "fm1" ).item( "ListBox2" ); var ListBox3 = IEApp.Document.forms( "fm1" ).item( "ListBox3" ); // リストボックスから値を取得 var str = "[fm1]\n"; str += "ListBox1=" + ListBox1.selectedIndex + " : " + ListBox1.value + "\n"; str += "ListBox2=" + ListBox2.selectedIndex + " : " + ListBox2.value + "\n"; str += "ListBox3=" + ListBox3.selectedIndex + " : " + ListBox3.value; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ1(formを使用した実験用ページ)を表示にします。 その1秒後に、生年月日の年、月、日、それぞれの選択している項目のインデックス値とvalue値がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード2(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet Explorerのリストボックスの値を取得する。(送信フォームなし) // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // 実験用ページを表示 IEApp.Navigate( "http://3rd.geocities.jp/kaito_extra/Source/IECtrlWorkPage2.html" ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 1000 ); // リストボックスのNameプロパティからリストボックスオブジェクトを取得 var ListBox1 = IEApp.Document.all( "ListBox1" ); var ListBox2 = IEApp.Document.all( "ListBox2" ); var ListBox3 = IEApp.Document.all( "ListBox3" ); // リストボックスから値を取得 var str = "[フォームなし]\n"; str += "ListBox1=" + ListBox1.selectedIndex + " : " + ListBox1.value + "\n"; str += "ListBox2=" + ListBox2.selectedIndex + " : " + ListBox2.value + "\n"; str += "ListBox3=" + ListBox3.selectedIndex + " : " + ListBox3.value; WScript.Echo( str ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果2(IE6)]
Internet Explorer(IE)を起動し、3秒後に実験用ページ2(formを使用してない実験用ページ)を表示にします。 その1秒後に、生年月日の年、月、日、それぞれの選択している項目のインデックス値とvalue値がメッセージボックスで表示されます。 その後、Internet Explorer(IE)を終了します。
[サンプルコード3(IE7〜8)]
[実行結果3(IE7〜8)]
[サンプルコード4(IE7〜8)]
[実行結果4(IE7〜8)]
POST送信
ここでは、POST送信について紹介します。 POST送信についてわからない人はググッてください。 ここで紹介する内容は、ボタンを押す〜リストボックスの選択内容を取得で紹介した内容でも事足ります。 なので、紹介する必要もないのですが、ついつい調べてしまったので載せることにします。 まずは以下のHTMLソースとページの画像をご覧ください。
<html> <head> <title></title> </head> <body style="font-family:MS ゴシック;"> <form name="fm1" action="Next.php" method="POST"> テキストボックス <input id="Text1" type="text" name="txt" /><br /> ラジオボタン ラジオ1<input id="Radio1" name="rad" type="radio" value="rad1" /> ラジオ2<input id="Radio2" name="rad" type="radio" value="rad2" /><br /> プルダウン <select id="Select1" name="lst"> <option value="lst1">リスト1</option> <option value="lst2">リスト2</option> <option value="lst3">リスト3</option> </select> <br /> チェックボックス チェック1<input id="Check1" type="checkbox" name="chk1" /> チェック2<input id="Check2" type="checkbox" name="chk2" /> <br /> <input id="Submit1" type="submit" value="送信" name="smt" /><br /> </form> </body> </html>

今回はこのページで説明します。 まずはこのページの簡単な説明をします。 適当にテキストボックスやチェックボックスにチェック等を設定した後、送信ボタンを押すと、「Next.php」ファイルへ遷移します。 「Next.php」ファイルでは以下のようなデータがPOST送信されてきます。 「txt」 ・・・テキストボックスのvalue値 「rad」 ・・・ラジオボタンのvalue値 「lst」 ・・・プルダウンのvalue値 「chk1」・・・チェックボックス1のチェック状態(true または false) 「chk2」・・・チェックボックス2のチェック状態(true または false) 「smt」 ・・・ボタンが押されたかどうかの状態(Null値以外だけど値は不明) 「Next.php」ファイルではその後送られてきたデータを色々処理しますが、ここでは紹介の対象ではないので省略します。 ここでは上記のデータを送りつつ、「Next.php」ファイルへ遷移する方法を紹介します。 コントロールに値を設定し、ボタンを押すという動作は、先ほども記述しましたが、ボタンを押す〜リストボックスの選択内容を取得で紹介した内容でも事足ります。 しかし、ここで紹介する内容では上記画像のページを表示する必要がないので、処理速度的にはこれから紹介する内容のほうが圧倒的です。 紹介するといってもいつものように、関数の説明とサンプルコードを記載するだけです。 読者の方にはわかりづらいかもしれないですが、説明しづらいものなので申し訳ありません。 Internet Explorer(IE)のPOST送信をするには以下の関数及びサンプルコードで実現できます。 しかしながら、今回は実行できるサンプルではありません。 筆者のサイトがPOST送信が対応していないためテストページも作ることができませんでした。 それに、ほかの登録系サイトにて実験をしたかったのですが手ごろなサイトがなかったので憶測でサンプルを作成しました。 参考程度でお願いします。 VisibleプロパティについてはInternet Explorerの起動と終了を参照してください。 Quit()関数についてはInternet Explorerの起動と終了を参照してください。 Navigate()関数についてはサイトへ移動を参照してください。 Busyプロパティについてはサイトへ移動を参照してください。 ReadyStateプロパティについてはサイトへ移動を参照してください。
関数名 encodeURI( url ); 関数説明 引数のurlの文字列をエンコードします。 urlでは全角文字が使用できない。 そのため、この関数を使用することで全角文字を変換します。 変換後の文字列を元に戻すには、下で紹介する decodeURI()関数を使用します。 引数 url ・・・・・・・url文字列 戻り値 エンコード後の文字列。
関数名 decodeURI( url ); 関数説明 引数のurlの文字列をデコードします。 encodeURI()関数で変換後の文字列を元の文字列に戻します。 引数 url ・・・・・・・encodeURI()関数で変換後のurl文字列 戻り値 デコード後の文字列。
[サンプルコード1(IE6)]
// // Internet Explorer操作 (IEバージョン6) // // Internet ExplorerのPOST送信。 // // 読み込み状態 var READYSTATE_UNINITIALIZED = 0; // 初期化中 var READYSTATE_LOADING = 1; // 表示データ読み込み中 var READYSTATE_LOADED = 2; // 表示データ読み込み完了 var READYSTATE_INTERACTIVE = 3; // データの表示中 var READYSTATE_COMPLETE = 4; // 全てのデータが表示終了 // リソース設定オプション用のフラグ var NAVNOMAL = 0; //既存ウインドウ(キャッシュ、履歴あり) var NAVOPENINNEWWINDOW = 1; //新規ウインドウ var NAVNOREADFROMCACHE = 2; //キャッシュを読み込まない var NAVNOHISTORY = 4; //履歴を残さない var NAVOPENINNEWTAB = 2048; //新規タブで開く(アクティブ) IE7以上 var NAVOPENINBACKGROUNDTAB = 4096; //新規タブで開く(非アクティブ) IE7以上 // Internet Explorerオブジェクトを取得(Internet Explorerの起動) var IEApp = new ActiveXObject( "InternetExplorer.Application" ); // Internet Explorerアプリケーションを表示 IEApp.Visible = true; // 3秒停止 WScript.Sleep( 3000 ); // Formタグ内のnameプロパティごとに値を格納 var txt = "テストTEST"; var rad = "rad1"; var lst = "lst1"; var chk1 = "true"; var chk2 = "false"; // POST送信用に編集 var PostData = ""; PostData += "txt=" + txt + "&"; PostData += "rad=" + rad + "&"; PostData += "lst=" + lst + "&"; PostData += "chk1=" + chk1 + "&"; PostData += "chk2=" + chk2; // エンコード PostData = encodeURI( PostData ); // ヘッダーを格納 var Headers = "Content-Type: application/x-www-form-urlencoded\r\n"; // POST送信し、ページを表示 IEApp.Navigate( "http://URL/Next.php", //ここはformタグのACTIONで設定されているURL NAVNOMAL, null, PostData, Headers ); // ページの読み込みが終わるまで処理を止める while( IEApp.Busy && IEApp.ReadyState == READYSTATE_COMPLETE ) WScript.Sleep( 500 ); // ループスピードを抑えるための処理 WScript.Sleep( 3000 ); WScript.Echo( "終了" ); // Internet Explorerを終了 IEApp.Quit(); // オブジェクトを解放 IEApp = null;
[実行結果1(IE6)]
本サンプルは実行しないでください。 そもそも存在しないはずのURLなので絶対に失敗します。 上記の画像のWebサイトがあることを前提に作成してみました。 大体こんな感じで作成すればPOST送信が出来ると思いますが、ちゃんと実行テストしていないのであくまで参考程度にしてくださいね。
Access操作へ | 目次 |