質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

WSH

WSH(Windows Script Host)とは、Windows上でテキストファイルに記述したJavaScriptやVBScriptなどのスクリプトを実行するホスト環境のことです。COMを通じたレジストリ操作やWMIへのアクセスが可能で、複雑な処理も行うことができます。

Q&A

解決済

2回答

9163閲覧

jcriptでIE起動後アクティブ化する方法を教えてください

退会済みユーザー

退会済みユーザー

総合スコア0

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

WSH

WSH(Windows Script Host)とは、Windows上でテキストファイルに記述したJavaScriptやVBScriptなどのスクリプトを実行するホスト環境のことです。COMを通じたレジストリ操作やWMIへのアクセスが可能で、複雑な処理も行うことができます。

0グッド

0クリップ

投稿2016/07/09 12:20

###前提・実現したいこと
jcriptでIE起動後アクティブ化する方法を教えてください。
IE起動後gooのログインページにアクセスしそのウィンドウを
アクティブ化するスクリプトを作りたいのですが以下のソースコード(案1)
ではうまくいきませんでした。
(ログインするにあたってのID,PWの入力は問題なくできている状態です。)
どのように修正すればよいのでしょうか。
教えてください。

###該当のソースコード
言語:jscript, wscript

案1)ファイル名:goo_open.js
var ie = new ActiveXObject("InternetExplorer.Application");
var sh = new ActiveXObject("WScript.Shell");
ie.visible = true;
ie.navigate("https://login.mail.goo.ne.jp/id/authn/LoginStart?Site=mail.goo.ne.j...");
sh.AppActivate( "goo" );
:
省略 ログインするにあたってID,PWの入力
:
ie = null;

###試したこと
別の方法(案2)でRunメソッドを使えばIEの起動、gooページへのアクセス、アクティブ化はできるのですがログインするににあたっての起動したIEへID,PWの入力ができませんでした。

案2)ファイル名:goo_open2.js
//ウインドウはアクティブ、サイズは最大
var WS_ACT_MAX = 3;
var sh = new ActiveXObject("WScript.Shell");
sh.Run( "iexplore.exe https://login.mail.goo.ne.jp/id/authn/LoginStart?Site=mail.goo.ne.jp&Success=http%3A%2F%2Fmail.goo.ne.jp", WS_ACT_MAX );
:
省略 ログインするにあたってID,PWの入力
:
sh = null;

###補足情報(言語/FW/ツール等のバージョンなど)
できれば案1、案2のうちのどちらかをベースにjcriptでIE起動後アクティブ化する方法を教えてください。
案1、案2以外の方法しか実現のしようがないのであればその方法でも大丈夫です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tohshima

2016/07/10 00:56

質問です。 案1で  sh.AppActivate( "goo" ); としていますが、このコードを最後に実行してもアクティブ化できない、ということでしょうか。
退会済みユーザー

退会済みユーザー

2016/07/10 01:13

はい、その通りです。 そのコードを実行してもエラーになるでもなく、アクティブになることもない状態です。 すみません、説明不足でした。
guest

回答2

0

ベストアンサー

以下の分を追加し解決しました。
var TITLE = "Internet Explorer"; //追加部分
sh.AppActivate(TITLE); //追加部分

投稿2016/07/26 16:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

gooのアカウントは持っていないので正確なところはわかりませんが、
sh.AppActivate( "goo" );
に与えている"goo"の部分は"goo - Internet Explorer"のような感じではないでしょうか。
タスクバーのIEのアイコンにマウスカーソルをのせると、ウィンドウタイトルがポップアップしてくるので、それを参考に設定してみてください。

投稿2016/07/10 10:44

tohshima

総合スコア374

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/11 23:00

回答ありがとうございます。 さっそく試してみましたがうまくいきませんでした。
tohshima

2016/07/12 12:51 編集

sh.AppActivate()の戻り値がtrueになるまで、何度かリトライしてみたらいかがでしょうか。
退会済みユーザー

退会済みユーザー

2016/07/21 22:24

返信遅くなりまして申し訳ありません。 試してみたのですが、うまくいきませんでした。 7/22現在も実装方法を模索中ですので別の方法等ありましたら回答いただけると幸いです。
tohshima

2016/07/23 02:42

問題解決に詰まった時は、限りなくシンプルに、自分にとって未知の要素を取り除いて動かしてみると解決の糸口が見えてくることがあります。 スクリプトはsh.AppActivate()を実行する(動いていないと考えている部分)だけのものにし、IEはスクリプトからではなく手作業で開いてから試してみたらいかがですか。案外、自分が注目していたところ以外に問題があったりすることもあります。 今私が一番疑っているのは、sh.AppActivate()に与えるウィンドウタイトルが正しくないのではないか、ということです。Windowsタスクマネージャーのアプリケーションタブのタスク欄でもウィンドウタイトルを確認できますので、間違っていないか確認してみてください。
退会済みユーザー

退会済みユーザー

2016/07/26 14:01

返信が遅くなり申し訳ありません。 再度試してみます。 結果は近日中にコメントさせていただきます。
退会済みユーザー

退会済みユーザー

2016/07/26 16:23

ウィンドウタイトルを確認してsh.AppActivate()を実行してみましたがうまくいきませんでした。 ただ、こちらのサイト[http://atstr.web.fc2.com/?make/bin/ie-00]を参考にしたらうまくいきました。(以下、案1の改良版) var ie = new ActiveXObject("InternetExplorer.Application"); ie.visible = true; var sh = new ActiveXObject("WScript.Shell"); var TITLE = "Internet Explorer"; //追加部分 sh.AppActivate(TITLE); //追加部分 ie.navigate("https://login.mail.goo.ne.jp/id/authn/LoginStart?Site=mail.goo.ne.j..."); : 省略 ログインするにあたってID,PWの入力 : ie = null; sh = null; 以上の方法でIEの起動→Active化→Webページの遷移ができるようになりました。 この方法でうまくいったということはtohshimaさんのおっしゃる通りタイトルが間違っていたのだと思うのですが、タスクマネージャから取得したものをそのままコピペしたので正直どこが間違っていたのかよくわかりませんでした。 今回の件では何度もコメントをいただきましてありがとうございました。 時間はかかりましたが問題も解決し、内心ほっとしております。 またの機会がありましたらよろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問