ドキュメント関連のオブジェクトの取得方法
ここではスクリプトからDocumentWindowオブジェクトやdocumentオブジェクトを取得する方法を紹介します。
(目次)
1.タブ(DocumentWindowオブジェクト)を新しく作成するには
ScriptBrowserKオブジェクトのNavigateNewメソッド、または、NewPageメソッドを使用します。
例) set win = NavigateNew("http://www.scriptbrowserk.com/")
上の例では、以後、win変数を介して新しく作成したDocumentWindowオブジェクトにアクセスできます。
2.アクティブなタブのDocumentWindowオブジェクトを取得するには
現在アクティブなタブのDocumentWindowオブジェクトを取得するには、ScriptBrowserKオブジェクトのActiveDocWinプロパティを使用します。
例) ActiveDocWin.Navigate("http://www.scriptbrowserk.com")
また、アクティブなタブのdocumentオブジェクトを取得するには、ScriptBrowserKオブジェクトのActiveDocumentプロパティを使用します。
例) msgbox ActiveDocument.Title
ActiveDocumentプロパティは、ActiveDocWin.documentと同じ物です。
3.既に開いているタブの中からDocumentWindowを探すには
既に開いているタブのの中から、タブを探すには、TabGroupsオブジェクトまたはTabGroupオブジェクトのFindWindowメソッドを使用します。
例1)全タブグループの全タブの中から、タイトルやURLにScriptBrowserKの文字列を含むタブのDocumentWindowオブジェクトを取得する
set win = TabGroups.FindWindow("ScriptBrowserK", False)
例2)アクティブなタブグループの中から、タイトルやURLにScriptBrowserKの文字列を含むタブのDocumentWindowオブジェクトを取得する
set win = TabGroups.ActiveGroup.FindWindow("ScriptBrowserK", False)
4.フレーム内のdocumentオブジェクトを取得するには
HTMLドキュメント内のアクティブなフレームのdocumentオブジェクトを取得するにはDocumentWindowオブジェクトのActiveFrameDocumentプロパティを使用します。
例1)msgbox ActiveDocWin.ActiveFrameDocument.url
また、アクティブでないフレームのdocumentオブジェクトを取得するには、DHTMLの機能を利用します。
下の例は、HTMLドキュメント内の2番目のフレームに表示されているHTMLドキュメントのURLを表示するスクリプトです。
例2)msgbox ActiveDocument.frames(1).document.url
自分が使用したいフレームのパスを知りたい場合は以下のようにすると簡単にできます。
- スクリプトパネルでパネル上のツールバーの[スクリプトの記録]をオンにします。
- HTMLドキュメントのフレーム内の適当な場所をクリックします。
- 下のような行が[記録されたスクリプト]欄に記録されます。記録された行の中で、documentより左の部分がそのフレームにアクセスするためのパスです。
ActiveDocument.frames(1).document.body.All.Tags("DIV").item(2).Click
(注意)
Internet Explorerのセキュリティ機能により、フレーム内に別のドメインのページを表示している場合など、DHTML の frames では、フレーム内のドキュメントにアクセスできない場合があります。その場合は DocumentWindow オブジェクト の FrameDocuments プロパティを使用してください。
以上です。
2007/05/11 初版
2010/08/17 FrameDocuments の情報を加筆