2016-06-30 4 views
2

イントラネットサイト内をナビゲートするvbスクリプトを作成しました。このサイトにはリンクをクリックすると、セミランダムアドレスの新しいタブが開きます。このタブにアクセスしてjavascriptを実行するにはどうすればよいですか?VBSで別のIEタブにアクセスするには?

私のスクリプトでは、前に説明したこのリンクをクリックするまでナビゲーションを制御するために使用されるInternetExplorer.applicationオブジェクトを作成します。リンクをクリックするためにいくつかのjavascriptを実行すると、ナビゲーションを続けるために新しいタブでコードを実行する方法がわかりません。私はdocumentation of the IE objectを探して親プロパティがあるので、私はその親の中にIEオブジェクトのリストを見つけなければならないと思っていますが、親はスクリプトそのものですか?私はそこからどこへ行くべきか分からない。

答えて

0
Set objShell = CreateObject("Shell.Application") 
Set AllWindows = objShell.Windows 
For Each window in AllWindows 
    msgbox window.locationname 
    If window.locationname="Scripts" then window.quit 
Next 

Internet Explorerウィンドウオブジェクトを返します。

-1

私はこの種の作業にRubyを使用していますが、Webベースのサーバーとクライアントで作業する方がはるかに優れています。ブラウザウィンドウの制御のためにいくつかの宝石はバックグラウンドでAutoitを使用します。 Autoitは、通常のsendkeyおよびobjShellのvbscriptメソッドよりもはるかに強力です。 vbscriptから使用する方法の例については、hereを参照してください。

1

「クロスタブ通信」についてよく知っておくとよいでしょう。特に 'localStorage'。ここから始まるリンクはHTML5 Web Storage and Cross-tab communicationです。

1つのタブでローカルストレージ変数の値を設定すると、別のタブで(たとえばドキュメントが準備完了した直後など)読み込み、その値に応じて何かを行うことができます。または、イベントに接続して変数値の変更をリッスンし、それに応じて別のスクリプトを実行し、効果的に1つのタブから別のタブへの関数呼び出しとして使用できます。

関連する問題