MarineProjects/MarineToolbar/Developer
スクリプト開発 bookmark
スクリプトは、スクリプトプラグインから実行されます。
スクリプトプラグインは、スクリプトに対して、ScriptHelperオブジェクトを提供します。
スクリプトからは、ScriptHelperオブジェクトが実装するプロパティやメソッドを操作してInternet Explorerのオブジェクトへのアクセスや制御、その他の処理を実装できます。
Marineツールバーに同梱しているスクリプトを参考にすると理解しやすくなると思います。
- スクリプトでは、Windowsが提供する各種COMオブジェクトも利用できます。
スクリプトファイルの拡張子 bookmark
スクリプトプラグインは、JScriptとVBScriptをサポートしています。
どちらのスクリプト言語で記述されているかの判断は、スクリプトファイルの拡張子で判断されます。
拡張子が正しく指定されていない場合は正常に動作しませんので、お気をつけください。
- JScriptの場合:js
- VBScriptの場合:vbs
Windows Scripting Hostとの違い bookmark
スクリプトプラグインで実行されるスクリプトは、Windows Scripting Hostでの実行とは異なる独自の環境で実行されます。
これは、WScript.exeやCScript.exeで実行されたものとは異なるということです。
実行環境の違いにより、Windows Scripting Hostで実行された場合に利用できるオブジェクトが利用できないことがあります。
以下に注意事項を明記してありますので、スクリプトを記述する場合はご注意ください。
- Windows Script HostのオブジェクトモデルのルートオブジェクトWScriptの利用
- WScriptオブジェクトは Windows Script Host のオブジェクト モデル階層のルート オブジェクトです。このWScriptオブジェクトは、WScript.exeやCScript.exeの実行環境下では、インスタンス化すること無く利用することができます。つまり、WScript.exeやCScript.exeがWScriptオブジェクトをインスタンス化して、スクリプトが利用できるようにしているためです。
スクリプトプラグインでは、WScriptをインスタンス化することはできないため、直接WScriptを利用することもインスタンス化して利用することもできません。
(WScriptオブジェクトのメソッド、プロパティは利用できません。)
- WScriptオブジェクトは Windows Script Host のオブジェクト モデル階層のルート オブジェクトです。このWScriptオブジェクトは、WScript.exeやCScript.exeの実行環境下では、インスタンス化すること無く利用することができます。つまり、WScript.exeやCScript.exeがWScriptオブジェクトをインスタンス化して、スクリプトが利用できるようにしているためです。
- 利用可能なWindows Script Hostのオブジェクト
- 直接インスタンス化可能なオブジェクトは次節で説明する「COMオブジェクトのインスタンス化」で説明する方法を使って利用することが可能です。
- ただし、WScriptオブジェクトのプロパティやメソッドを経由してしか取得できないオブジェクトは利用することができません。
例:WshArguments、WshEnvironment、WshNamed、WshUnnamed
- COMオブジェクトのインスタンス化
- スクリプトからはオートメーションを実装したCOMオブジェクトをインスタンス化して、利用することが可能です。
COMオブジェクトをインスタンス化するにはいくつか方法がありますが、WScriptが利用できないため、WScript.CreateObjectメソッドが利用できません。 - 代替方法
- VBScript:CreateObject
例:Set obj = CreateObject("WScript.Shell")
- VBScript:CreateObject
- スクリプトからはオートメーションを実装したCOMオブジェクトをインスタンス化して、利用することが可能です。
- JScript:ActiveXObject
例:obj = new ActiveXObject("WScript.Shell");
- ScriptHelperオブジェクト
- WScriptオブジェクトは利用できませんが、スクリプトプラグインにはインスタンス化する必要なく利用できるScriptHelperオブジェクトがあります。
ScriptHelperオブジェクトは、Internet Explorerを制御するのに利用できる便利なプロパティやメソッドが実装されています。
- WScriptオブジェクトは利用できませんが、スクリプトプラグインにはインスタンス化する必要なく利用できるScriptHelperオブジェクトがあります。
ScriptHelperオブジェクト bookmark
プロパティ bookmark
- browser
- 概要
Marineツールバーが実行されているInternet ExplorerのIWebBrowser2インターフェース
- 概要
- documents
- 概要
IHTMLDocument2インターフェースのコレクション
- 概要
- searchText
- 概要
検索ボックスに入力された文字列
- 概要
- selectText
- 概要
ページ中で選択された文字列
- 概要
- selectTextEx
- 概要
ページ中で選択された文字列から改行・復帰コードを除いた文字列
- 概要
メソッド bookmark
- void MessageBox(string messege, string title)
- 概要
引数に指定されたメッセージとタイトルでメッセージボックスを表示します。 - 引数
- message
メッセージボックスに表示する文字列 - title
メッセージボックスのタイトル文字列
- message
- 概要
- 戻り値
- なし
- 備考
主にスクリプトを開発しているときのデバッグメッセージに利用されることを想定しています。
ユーザーへの問い合わせなどは、IHTMLWindow::promptをご利用ください。
- boolen IsBusy(object Dispatch)
- 概要
指定されたIWebBrowser2がWebページを読み込み中かチェックします - 引数
- Dispatch
チェックするIWebBrowser2
- Dispatch
- 戻り値
- boolen
true : 読み込み中
false : 読み込み完了(未読み込み中)
- boolen
- 概要
- boolen WaitDownloadComplete(object Dispatch, long TimeOut)
- 概要
指定されたIWebBrowser2がWebページの読み込みを完了するまでウェイトします - 引数
- Dispatch
チェックするIWebBrowser2 - TimeOut
タイムアウト時間(秒で指定)
- Dispatch
- 戻り値
- boolen
true : 読み込み完了
false : 読み込みが完了する前にタイムアウトした
- boolen
- 概要
- void Sleep(long Time)
- 概要
指定された秒数ウェイトします - 引数
- Time
ウェイト時間(秒で指定)
- Time
- 戻り値
- なし
- 概要
- void Beep()
- 概要
ビープ音を鳴らします - 引数
- なし
- 概要
- 戻り値
- なし
- string GetProfileString(string AppName, string KeyName)
- 概要
スクリプトプラグインが管理するデータファイルからデータを取得します - 引数
- AppName
スクリプトが管理するセクション名 - KeyName
データを格納するキー名
- AppName
- 戻り値
- string
読み込んだ文字列
データが存在しない場合はから文字列("")
- string
- 概要
- void SetProfileString(string AppName, string KeyName, string value)
- 概要
スクリプトプラグインが管理するデータファイルにデータを保存します - 引数
- AppName
スクリプトが管理するセクション名 - KeyName
データを格納するキー名
- AppName
- 戻り値
- なし
- 概要
- boolen Authenticate(string URL, string UserName, string Password)
- 概要
BASCI認証を行います。 - 引数
- URL
認証する先のURL - UserName
ユーザー名 - Password
パスワード
- URL
- 戻り値
- 認証の結果(true:成功、false:失敗)
- 概要
|
|
||




