※本ソフトの公開・サポートは終了しました。
ホーム > スクリプト作成入門 > ドキュメント関連のオブジェクトの取得方法

ドキュメント関連のオブジェクトの取得方法

ここではスクリプトから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プロパティを使用します。

例1msgbox ActiveDocWin.ActiveFrameDocument.url

また、アクティブでないフレームのdocumentオブジェクトを取得するには、DHTMLの機能を利用します。

下の例は、HTMLドキュメント内の2番目のフレームに表示されているHTMLドキュメントのURLを表示するスクリプトです。

例2)msgbox ActiveDocument.frames(1).document.url

自分が使用したいフレームのパスを知りたい場合は以下のようにすると簡単にできます。

  1. スクリプトパネルでパネル上のツールバーの[スクリプトの記録]をオンにします。
  2. HTMLドキュメントのフレーム内の適当な場所をクリックします。
  3. 下のような行が[記録されたスクリプト]欄に記録されます。記録された行の中で、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 の情報を加筆

 

 

Copyright (c) 2011 Akiyoshi Kozuka (http://www.scriptbrowserk.com/)