
以下の2つのサイトを参考にIEの自動処理を作っています。
「IE 画面を、スクリプトで操作する (パソコン便利ツール集)」
http://makoto-watanabe.main.jp/htmlDOM.html
「WSH JScriptを使いこなそう ~キーボード操作~」
http://3rd.geocities.jp/kaito_extra/Source/Keybo …
そこで簡単なhtmlページを作り、javascriptの「confirm」を使って確認メッセージを表示しました。
この確認メッセージの「OK」か「キャンセル」をVbscriptの「SendKeys」を使ってコントロールしようとしてるのですが全く反応しません。
何がいけないのでしょうか?
もちろん確認メッセージはアクティブの状態です。
開いたIEのオブジェクトなどでコントロールしないといけないのでしょうか?
ちなみに、html内のjavascriptは次のようにしています。
<script Language="JavaScript">
<!--
confirm("よろしいですか?")
//-->
</script>
Vbscriptは次の通りです。
Set objWshShell = Wscript.CreateObject("Wscript.Shell")
Set objIE = CreateObject("InternetExplorer.Application")'IEの起動
objIE.Visible = True 'IEウィンドウを表示
siteurl = "http://テスト用のサイト/test.html"
objIE.Navigate2 siteurl'指定ページを開く
While objIE.ReadyState <> 4 Or objIE.Busy = True
WScript.Sleep 1000
Wend
objWshShell.SendKeys("{enter}")
objIE.Quit
Set objIE = Nothing
WScript.quit
No.1ベストアンサー
- 回答日時:
当方のWindows XP, Internet Exploret 8で、ローカルのハードディスク上のhtmlファイルを開いて試してみたところ、
objWshShell.SendKeys("{enter}")
の前に
objWshShell.AppActivate("Internet Explorer")
WScript.Sleep 100
とか
objWshShell.AppActivate("Web ページからのメッセージ")
WScript.Sleep 100
とか入れるとうまくいくようでした。
ただ、セキュリティの設定がよくわからずActiveXコントロールの警告を消せなかったのでその対策にもSendkeysを使ったりしているうえに、そもそも私がこの分野にはあまり詳しくないので、残念ながらあまり自信はありません。
この回答への補足
どうやら、原因が解りました。
次の部分、
While objIE.ReadyState <> 4 Or objIE.Busy = True
WScript.Sleep 1000
Wend
ここが原因で、ずっとwait(待ち状態)してまして、この処理をリマークにしましたらうまくいくようになったようです。
これからさらに調査が必要ですが、ひとまず、締め切らせていただきます。
ありがとうございます。
返事が遅くなりました。
そうですよね。
そのようにやっても見たのですが、私の環境(Windows7、IE10)だとうまく動作しないんです。
IEのバージョンの問題なのだろうか?
しばらく待って、他に回答が無ければ締め切らせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Windows 10 パソコン初期化の件です 2 2022/06/05 11:05
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PageLoadの後にJavascript実行...
-
画面遷移が不正ですと表示されます
-
ページングが大量発生する原因...
-
PHPからWindowsログインユーザ...
-
Dreamweaver+PHP+MySQL・オスス...
-
VBAで一時中断したプログラムの...
-
ボタンをクリックした時に、入...
-
asp.netにてgridviewの列を動的...
-
JTableで右クリック
-
Spread.NETの行削除について
-
メール添付されたPDFファイルが...
-
IEの閉じるボタンを消す方法
-
携帯用サイトをエクセルVBAから...
-
getParameterで値が取得できず...
-
Webページ上のボタン等の位置を...
-
GridViewの行をダブルクリック
-
ショッピングカートの「カート...
-
コネクション・セッション・ト...
-
えきねっとのログイン画面はどこ?
-
ボタンの色の変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS2010 WEBブラウザーコン...
-
Javascriptでページ内容全体を...
-
PageLoadの後にJavascript実行...
-
ASP.NET(VB)でのデータグリッド...
-
VB2005 DateTimePickerのカレン...
-
フォームアプリでのカレンダー...
-
VB.netでボリュームレベルメー...
-
EM_GETFIRSTVISIBLELINEで
-
DataGridViewコントロールの使い方
-
グーグルカレンダーのようなカ...
-
ASP.NETのWebフォームでカレン...
-
更新処理の進行状況
-
ASP.NET SiteMapPathコントロー...
-
calendarコントロールの表示月...
-
エクセルでセルに時間の自動入...
-
goo簡単ホームページ ページ名...
-
スピンボタンの制御
-
ページ間ポスティングと検証コ...
-
VS2005 ASP.NET GridView...
-
IE7でホームページ表示できません
おすすめ情報