SBKScriptItem オブジェクト

・実行中のスクリプトを制御するためのオブジェクトです。
・スクリプト内で SBKScriptItem オブジェクトは記述を省略することができます。

プロパティ

2列目の項目は、読み込み専用の場合 'R' (Read) 、読み書き可能な場合は 'RW'(Read/Write)です。

CallBy R

スクリプトが起動したタイミング(スクリプトの設定場所)を取得します。

下記の数値が返ります。

sbkConst.sbj
(sbv)での定義
意味
sbkCbEtc0その他
sbkCbLoginPre1自動ログイン(実行前スクリプト)
sbkCbLoginAfter2 自動ログイン(実行後スクリプト)
sbkCbUpCheckPre3更新チェック(高度な設定タブ:スクリプト)
sbkCbUpCheckAfter4更新チェック(更新時に実行するスクリプト)
sbkCbEvent5イベント起動
sbkCbPnlScript6スクリプトパネル
sbkCbSchedule7スケジュール機能
sbkCbExecScript8ExecScript メソッドによる呼び出し
sbkCbCustomCmd9カスタムコマンド
sbkCbPanelOrMenu10メニューやパネル(お気に入りなど)
sbkCbMenuOpen12[ファイル]-[開く]-[ファイルまたはURLを開く]メニュー
sbkCbCmdLineParam13ScriptBrowserK 起動時のコマンドライン引数
sbkCbFavGroup14お気に入りグループ内の項目
sbkCbClipboard15クリップボードが書き換わったとき実行するスクリプト
sbkCbDDE16 DDE の引数
sbkCbExtractLink17リンクの抽出画面:ダウンローダ
sbkCbFavoriteAfter18お気に入りの拡張プロパティの[スクリプト]欄
sbkCbSearch19検索サイトのプロパティ画面の[URL / スクリプト]欄
sbkCbUserCmd21ユーザー設定コマンド([ツールバーとコマンドの設定]-[コマンド]ページ
Caller R

下の2つの場合に有効なプロパティです。

(1)ホームページの更新チェック機能のチェック前と更新時に実行されたスクリプト
更新チェック項目のUpdateCheckItemオブジェクトを返します。
(参照) [更新チェック項目のプロパティ画面]-[拡張動作]ページの「更新時に実行するスクリプト]欄

(2)自動ログイン項目の[実行前スクリプト]と[実行後スクリプト]
ログイン処理を行ったWebページのAutoLogin オブジェクトを返します。
(参照)ログイン項目のプロパティ画面

(3)[ScriptBrowserKオプション]-[イベント起動]ページのスクリプト
呼び出し元のDocument オブジェクト(HTMLページ内のJava Script等で使用する document オブジェクトと同じもの)を返します。フレーム内のページが呼び出し元の場合は、該当するフレームのDocumentオブジェクトが返されます。

(4)スクリプトパネル上でスクリプトを実行した場合
アクティブなタブのDocumentWindow オブジェクトのDocumentプロパティを返します。

Filename R 実行中のスクリプトのファイル名です。
DebugMode RW TRUEのとき、デバッグモードになります。DebugLog メソッドはデバッグモードのときのみログを出力します。
NavigatingURL R

[ScriptBrowserKオプション]-[イベント起動]ページで[イベント]欄に[開くとき]に指定した項目のスクリプトが実行されるときのみ有効なプロパティです。

表示しようとしているURLを返します。

DocumentWindow オブジェクトのURLプロパティは現在表示しているURLを返します。違いに注意してください。

ParamCount R スクリプトに渡されたパラメータの数を返します。
(参照)スクリプトの概要(一般ユーザ用)の「スクリプトにパラメータを渡す」の解説
ParamStr R 書式:ParamStr(INDEX)

INDEX番目のパラメータ文字列を返します。
ParamStr(0)が先頭のパラメータになります。
(参照)スクリプトの概要(一般ユーザ用)の「スクリプトにパラメータを渡す」の解説

SrcDocWin R

下の2つの場合に有効なプロパティです。

(1)[ScriptBrowserKオプション]-[イベント起動]ページの機能でスクリプトが実行された場合
表示されたブラウザウィンドウDocumentWindow オブジェクトを返します。

(2)自動ログイン項目の[実行後スクリプト]
ログイン処理を行ったWebページのDocumentWindow オブジェクトを返します。
(参照)ログイン項目のプロパティ画面

(4)スクリプトパネル上でスクリプトを実行した場合
アクティブなタブのDocumentWindow オブジェクトを返します。

メソッド

ClickDialogItem

書式:ClickDialogItem(WindowTitle, Item, Wait, SameProcess, TimeoutSecond, ForScript)

セキュリティの確認画面などのボタンをクリックします。

ウィンドウのキャプションがWindowTitleの文字列を含むダイアログボックスのItemの文字列を含むボタンをクリックします。

Wait引数には待機方法を指定します。各値の意味は下記の通りです。
Wait引数は省略可能で省略時は -1 と見なされます。

意味

0, false

ウィンドウが生成されたら即座にクリック動作を行います。

この値を指定した場合で、タイムアウトエラーでスクリプトを停止させたくない場合は on resume next(VBScript の場合) や try 〜 catch(JScriptの場合)を使用してください。

-1, true ウィンドウが生成された後、少し待ってからクリック動作を行います。
1

基本的に上の -1 と同じです。

違いは1点のみで、ウィンドウ表示までの待機中にタイムアウトしてもエラーを発生させません。ウィンドウが表示されるかどうか分からない場合に指定します。

SameProcess引数がTRUEの場合、ScriptBrowserK と同じプロセスのウィンドウのみ検索します。SameProcessがFALSEの場合、全プロセスのウィンドウを検索します。SameProcess引数は省略可能で省略時は TRUE と見なされます。

TimeoutSecond は、タイムアウトエラーが発生するまでの時間をで指定します。省略可能で、省略した場合は 5秒に設定されます。

ForScript は、Webページ内のスクリプトでイベント(OnClick等)内で確認画面が表示される場合のためのオプションです。TRUEを指定するとタイムアウトするまで別スレッドでダイアログボックスが開かれるまで待つようになります。

例)
(1)セキュリティの警告ダイアログを閉じる場合
ClickDialogItem "セキュリティの警告", "はい"

(2)Webページ内のフォームでSubmitするとWebページ内のスクリプトにより確認画面が表示される場合。
HTML要素のClickを呼び出す前にClickDialogItemを実行するのがミソです。
ClickDialogItem "ダイアログのタイトル", "はい", TRUE, TRUE, 1500, TRUE
ActiveDocument.Forms("frm1").Elements("ok", 0).Click

CreateHTMLDocumentByString

書式:CreateHTMLDocumentByString(str, document)

str 引数の内容を、HTMLソースとして docment オブジェクトを作成します。

document は省略可能な引数で、作成したdocment オブジェクトに document の URL を base タグとして追加します。

document 引数を省略した場合、Caller プロパティがdocument オブジェクトであればそのURLを、そうでない場合は SrcDocWinプロパティの URL プロパティの値を base タグとして追加します。

DebugLog 書式:DebugLog(Msg)

Msg 引数の内容を、スクリプトパネルの[記録されたスクリプト]欄に出力します。

(注意)DebugModeプロパティが TRUE の時のみ動作します。FALSE のときは何もしません。

ExecScript 書式:ExecScript(Filename, Wait, SrcDocWin, Caller)

別のスクリプトを実行します。

Filename 引数には実行するスクリプトのファイル名を指定します。パスを付けずにファイル名のみを指定すると、下のページの解説されているフォルダが自動的に検索されます。

[SBKスクリプト]-[5.パス省略時に自動的に検索されるフォルダ]

Wait 引数は、スクリプトの終了を待つ場合に true を指定します。待たない場合は false を指定します。

SrcDocWin 引数には DocumentWindow オブジェクトを指定します。実行するスクリプトの SrcDocWin プロパティにセットされます。この引数は省略可能です。

Caller 引数には、実行するスクリプトの Caller プロパティにセットする値を指定します。通常は caller プロパティをそのまま渡します。この引数は省略可能です。

GetVariableValue 書式:GetVariableValue(Name)
指定した名前の ScriptBrowserK のスクリプトのオートフィルの記録項目の値を返します。実行中のスクリプトから別のスクリプトの記録項目を読み取ることはできません。
Name  記録項目の名前を指定します。
GM_getValue

書式:GM_getValue(key, defaultValue)

下の GM_setValue メソッドで保存した値を読み出します。 key の値が存在しない場合は、戻り値が defaultValue になります。

GM_registerMenuCommand

書式:GM_registerMenuCommand(menuText, callbackFunction)

GreaseMonkey 互換機能の関数です。

[スクリプト]メニューの[ユーザスクリプトのコマンド]下にメニュー項目を追加します。

menuText :メニューのキャプション名を指定します。
callbackFunction:メニューが実行されたときに呼び出す関数を指定します。

GM_setValue

書式:GM_setValue(key, value)

key と value の値を保存します。 保存した値は、上の GM_getValue メソッドで読み込むことができます。

保存された値は、[ScriptBrowserKオプション]-[フォルダ]ページで[スクリプトのパラメータを保存するフォルダ]が指定されている場合はそのフォルダに、そうでない場合は、設定ファイル保存フォルダ下の ScriptParam フォルダ下にスクリプトファイル毎に別々のファイルに保存されます。

InputParams

書式:InputParams(Title, Params, Values)
パラメータを入力する画面を表示します。

スクリプトのオートフィル機能が有効になっていれば、前回入力した内容が自動的に入力した状態で画面が開きます。また、Shift キーを押しながら実行されると、前回入力した内容を入力されたものとして、入力画面を表示することなく Values に値をセットしてメソッドを終了します。

OKがクリックされたときは、TRUE を、キャンセルされたときは FALSE を返します。

Title  入力画面のウィンドウのタイトルを指定します。
Params  フォーマットに従った内容を配列に入れて渡します。
Values  入力された内容が返されます。Params と同じ要素数の配列を渡します。

Values には Windows スクリプトの Dictionary オブジェクトを渡すこともできます。
JavaScript から使用する場合は、 Dictionary オブジェクトを渡して下さい。
Dictionary オブジェクトを渡した場合は、Dictionary.Key に、name で指定した名前が、Item に値が返ります。

例)下の行の項目がチェックされた場合、
checkbox: Title=項目1, name=Name1, value=SelValue
Keyには Name1 が、Item には SelValue が代入されます。

InputParamsWithParamSet 書式:InputParamsWithParamSet(Title, Params, Values)

コマンドラインのプログラムなどを呼び出すための機能です。

上の InputParams の機能に加え、設定内容に名前を付けて保存することが出来ます。設定内容は、[ScriptBrowserKオプション]-[フォルダ]ページ-[スクリプトのパラメータを保存するフォルダ]下に保存されます。

ただし、ここで入力した内容はパスワードで保護されません。入力した内容は普通のテキストファイルに保存されます。

LoadScriptLibrary

書式:LoadScriptLibrary(Filename)

スクリプトファイルをライブラリとして読み込み、実行します。ExecScript メソッドと異なり、同じ名前空間で実行されます。

Filename 引数には実行するスクリプトのファイル名を指定します。パスを付けずにファイル名のみを指定すると、下のページの解説されているフォルダが自動的に検索されます。

[SBKスクリプト]-[5.パス省略時に自動的に検索されるフォルダ]

例)SbkConst.sbj (.sbv) 内で定義されている sbkPnlPageSearch を利用する例

●JavaScript の場合
LoadScriptLibrary( "SbkConst.sbj")
SetFocusPanel(sbkPnlPageSearch)

●VBScript の場合
LoadScriptLibrary("SbkConst.sbv")
SetFocusPanel(sbkPnlPageSearch)

Quit

書式:Quit()

現在実行中のスクリプトを終了します。

QuitAll

書式:QuitAll()

現在実行中のスクリプトを終了し、実行待ちスクリプトを全てキャンセルします。

SendKeys2

書式:SendKeys2(Keys, WaitMode, WindowTitle, WaitMSec, TimeoutSecond)

アクティブなウィンドウに Keys 引数の文字列やキー操作をエミュレートして送ります。 Keys引数には全角文字も送信できます。 詳細は、SendKeys2 の Keysプロパティの書式の解説を参照して下さい。

WaitMode にはキーを送信するまでの待機方法を指定します。各値の意味は下記の通りです。

sbkConst.sbj
(sbv)での定義
意味
sbkSkwmNow0何も待機することなく直ぐに実行します。
sbkSkwmWait1

タイトルが、WindowTitle のウィンドウが表示されたあとに、WaitMSec ミリ秒待ってから実行します。TimeoutSecond 秒過ぎてもWindowTitle のウィンドウが見つからない場合は、タイムアウトエラーが発生します。

タイムアウトエラーでスクリプトを停止させたくない場合は on resume next(VBScript の場合) や try 〜 catch(JScriptの場合)を使用してください。

sbkSkwmThread2別スレッドでタイトルが、WindowTitle のウィンドウが表示されたあとに、WaitMSec ミリ秒待ってから実行します。TimeoutSecond 秒過ぎてもWindowTitle のウィンドウが見つからない場合は、タイムアウトエラーが表示されます。
sbkSkwmThreadNoErr 3

sbkSkwmThread と同じです。

違いは1点のみで、WindowTitle のウィンドウ表示までの待機中にタイムアウトしてもエラーを発生させません。ウィンドウが表示されるかどうか分からない場合に指定します。

WindowTitle には、ウィンドウキャプション、ウィンドウクラスの「一部分」、または、「全て」を指定できます。

WaitMSec は、WindowTitle で指定したウィンドウが生成されてから、キーを送信するまでの待機時間をミリ秒で指定します。省略可能で、省略した場合は 100ミリ秒に設定されます。

TimeoutSecond は、タイムアウトエラーが発生するまでの時間をで指定します。省略可能で、省略した場合は 5秒に設定されます。

例)

(1)JavaScript の Prompt メソッドで値を入力する場合
HTML要素のClickを呼び出す前に SendKeys2 を実行するのがミソです。

SendKeys2("Test 入力データ{Enter}", 2, "ユーザー プロンプト", 100, 5);
ActiveDocWin.document.getElementById("btnPrompt").click();

(2)ページを保存時に、ファイル名を自動入力する

SendKeys2("保存するファイル名~", 2, "ページの保存", 100, 5)
ActiveDocWin.SaveDialog()

SetVariableValue 書式:SetVariableValue(Name, Value)
指定した名前のスクリプトのオートフィルの記録項目の値をセットします。実行中のスクリプトから別のスクリプトに記録項目をセットすることはできません。
Name セットする 記録項目の名前を指定します。
Value  記録項目にセットする値を指定します。

 


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