[ヘルプTop] [戻る]
その他のスクリプトコマンド
ポップアップメッセージを表示するコマンドです。
メッセージボックスで押したボタンは、戻り値として変数に格納することができます。
詳しくは「
スクリプトの制御構文」を参照ください。
MessageBox
指定されたテキスト文をメッセージボックスでポップアップで表示します。
メッセージボックスのボタンタイプは、WindowsAPIのMessageBoxで使用されるフラグと等価です。
ここでは割愛しますが、アイコン画像や、デフォルトボタンもフラグを組み合わせることで指定できます。
メッセージボックスのタイプを16進数で記述する際は、16進数であると言うことを表現するために数字の先頭に「0x」を付記してください。
【書式】
MessageBox=[メッセージボックスのタイプ(10進数/16進数での数値)],[メッセージ本文]
【例】
MessageBox=0x131,2個目のボタンにフォーカスがあり、!アイコンで、OK/キャンセルのメッセージ
追加情報
メッセージボックスのタイプは、WinUser.hには以下のように定義されておりますので、抜粋して紹介します。
・ボタンの種類
#define MB_OK 0x00000000(OKのみ)
#define MB_OKCANCEL 0x00000001(OK/キャンセル)
#define MB_ABORTRETRYIGNORE 0x00000002(中止/再試行/無視)
#define MB_YESNOCANCEL 0x00000003(はい/いいえ/キャンセル)
#define MB_YESNO 0x00000004(はい/いいえ)
#define MB_RETRYCANCEL 0x00000005(再試行/キャンセル)
#define MB_CANCELTRYCONTINUE 0x00000006(キャンセル/再実行/続行)
※OSのバージョンや地域設定によって、意味は変わりませんがボタンの言語や表記は変わります。
・アイコン
#define MB_ICONHAND 0x00000010(手アイコン)
#define MB_ICONQUESTION 0x00000020(?のアイコン)
#define MB_ICONEXCLAMATION 0x00000030(!のアイコン)
#define MB_ICONASTERISK 0x00000040(情報アイコン)
・初期状態でアクティブにするボタン
#define MB_DEFBUTTON1 0x00000000(1個目のボタン)
#define MB_DEFBUTTON2 0x00000100(2個目のボタン)
#define MB_DEFBUTTON3 0x00000200(3個目のボタン)
#define MB_DEFBUTTON4 0x00000300(4個目のボタン)
※他にもフラグは定義されています。詳細は下記のURLを参照ください。
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebox
メッセージボックスの戻り値も同様に、以下のように定義されています。
#define IDOK 1(OKボタンを押されたときの戻り値)
#define IDCANCEL 2(キャンセルボタンを押されたときの戻り値)
#define IDABORT 3(中断ボタンを押されたときの戻り値)
#define IDRETRY 4(再試行ボタンを押されたときの戻り値)
#define IDIGNORE 5(無視ボタンを押されたときの戻り値)
#define IDYES 6(はいボタンを押されたときの戻り値)
#define IDNO 7(いいえボタンを押されたときの戻り値)
※「再実行」のように古いOSでは定義されていない値が返って来ることもあります。
例示のスクリプトのように記述して、実際の使用シーンに合わせて確認してみてください。
MessageBoxOK
MessageBoxの省略形で、OKボタンのみのメッセージボックスを表示します。
MessageBoxコマンドのタイプは0x30(0x00000000 | 0x00000030)になります。
ボタンなどのフラグを意識せず、簡単にメッセージを表示したい場合に使用すると便利です。
【書式】
MessageBoxOK=[メッセージ本文]
【例】
var $value$ = test
MessageBoxOK=先ほど格納された変数の値は「$value$」です。
MessageBoxYN
Yes/Noで問い合わせるタイプのMessageBoxコマンドの省略形ですが、Noを選ぶとスクリプトをその時点で中断します。
MessageBoxコマンドのタイプは0x24(MB_YESNO | MB_ICONQUESTION)になります。
※MessageBoxYNは互換性維持のために残されてるコマンドなので、使用を推奨しません。
【書式】
MessageBoxYN=[メッセージ本文]
【例】
MessageBoxYN=スクリプトを続けますか?
外部コマンドを実行します。
RunやExRunと異なり、各種の置換マクロが使えたり、起動したコマンドのリターンコードを受け取って制御を行うという目的のコマンドです。
CallとExecコマンドは、リターンコードを戻り値として変数に格納することができます。
詳しくは「
スクリプトの制御構文」を参照ください。
Call
外部プロセスを実行し、呼び出したコマンドが終了するのを待ちます。
コマンド実行形式であるため、コマンドラインオプションを直接記述できますが、実行ファイル以外を関連付け実行するような使い方はできません。
値には、変数、選択ファイル系マクロ、入力系マクロ、現在フォルダー系マクロ、現在時刻、内部状態取得、OS環境変数、特殊環境変数が使用できます。
BootDirコマンドの設定値により、起動時フォルダーが指定できますが、BootDir=1(アプリケーションパスを使用)の記述は使用できません。
なおBootDirコマンドで存在しないディレクトリを指定した場合は「ディレクトリ名が無効です」というエラーメッセージになります。
ShowWindowコマンドの設定値により、起動時の表示状態が指定できます。
TimeOutコマンドでタイムアウト値を指定することができます。
タイムアウトしてメッセージが表示され、プロセスの強制中断した場合は258が返され、続行した場合はプロセスは稼動したまま259が返されます。
※自動終了しないコマンドを非表示で実行してしまうと、タスクマネージャで強制終了するしか方法がなくなるので、そのようなコマンドを利用する場合は十分ご注意ください。
【書式】
Call=起動コマンドのコマンドライン
【例】
Call=c:\test.bat /test
Exec
外部プロセスを実行し、呼び出したコマンドの終了は待ちません。
コマンド実行形式であるため、コマンドラインオプションを直接記述できますが、実行ファイル以外を関連付け実行するような使い方はできません。
値には、変数、選択ファイル系マクロ、入力系マクロ、現在フォルダー系マクロ、現在時刻、内部状態取得、OS環境変数、特殊環境変数が使用できます。
BootDirコマンドの設定値により、起動時フォルダーが指定できますが、BootDir=1(アプリケーションパスを使用)の記述は使用できません。
なおBootDirコマンドで存在しないディレクトリを指定した場合は「ディレクトリ名が無効です」というエラーメッセージになります。
ShowWindowコマンドの設定値により、起動時の表示状態が指定できます。
※自動終了しないコマンドを非表示で実行してしまうと、タスクマネージャで強制終了するしか方法がなくなるので、そのようなコマンドを利用する場合は十分ご注意ください。
【書式】
Exec=起動コマンドのコマンドライン
【例】
Exec=c:\test.bat -test
Shell
シェル実行形式で外部プロセスを実行します。
Call/Execとは異なり、直接コマンドラインオプションを記述できませんが、実行ファイル以外を関連付け実行することが可能です。
Runコマンドと同様に、CommandLineOptionコマンドの設定値によりコマンドラインオプションが指定できますが、選択ファイルマクロが展開されるのはfor文中だけです。
値には、変数、選択ファイル系マクロ、入力系マクロ、現在フォルダー系マクロ、現在時刻、内部状態取得、OS環境変数、特殊環境変数が使用できます。
BootDirコマンドの設定値により、起動時フォルダーが指定できます。
TimeOutコマンドは、BootMode=5の時のみ適用されます。
ShowWindowコマンドの設定値により、起動時の表示状態が指定できます。
※自動終了しないコマンドを非表示で実行してしまうと、タスクマネージャで強制終了するしか方法がなくなるので、そのようなコマンドを利用する場合は十分ご注意ください。
※Runとの違い
Shellコマンドは、動作や適用されるモード類はRunコマンドと全く同じです。
Runコマンドはスクリプトのアイコンを取得対象であったり、スクリプトへのドラッグ&ドロップの対象になるため、環境変数と特殊環境変数しか使用できません。
Shellコマンドはスクリプトのアイコンを取得対象にならず、スクリプトへのドラッグ&ドロップの対象にならないため、全ての置換マクロが適用されます。
var $hoge$
(OK)Commandline=?selfile? ?nowdir? ?any? $hoge$
(OK)Run=%ProgramFiles%test\testapp.exe %App_Dir%
(OK)Shell=%ProgramFiles%test\testapp.exe %App_Dir%
(NG)Run=?selfile? ?nowdir? ?any? $hoge$
(OK)Shell=?selfile? ?nowdir? ?any? $hoge$
【書式】
Shell=起動コマンドのコマンドライン
【例】
OpenMode=0
CommandLineOption= c:\data.dat
Shell=c:\test.vbs
アクティブリスト上のフォルダーを移動したり、ファイルを選択したりといった動作をします。
また移動させる対象は、お気に入りタブ、ユーザー定義バーなど多岐に渡ります。
※フォルダー移動は他に前述のRunコマンドで指定する方法、外部コマンドのAsrload.exeのコマンドラインオプションで指定する方法もあります。
Asrload.exeの使い方はコマンドの説明ページを参照ください。
FolderJump
指定されたフォルダーを開きます。
末尾の「\」は無視されます。
※別スレッド駆動の非同期動作なので、他のコマンドとの同期は取れません。
【書式】
FolderJump=[動作種別(0:ジャンプ、1:新しく開く、2:バックグラウンドで開く、3:画面分割している場合に反対側のウィンドウで開く)],[フルパス]
【例】
FolderJump=1,C:\WINDOWS
FileJump
指定されたファイルまで開きます。
指定されたファイルのあるフォルダーを開き、対象ファイルを選択します。
末尾が「\」で終わっている場合、FolderJumpと同じ動作になりますが、こちらのコマンドの方が速度が遅くなります。
※別スレッド駆動の非同期動作なので、他のコマンドとの同期は取れません。
【書式】
FileJump=[動作種別(0:ジャンプ、1:新しく開く、2:バックグラウンドで開く、3:画面分割している場合に反対側のウィンドウで開く)],[フルパス]
【例】
FileJump=1,C:\WINDOWS
FavoriteJump
任意のお気に入りタブで指定のフォルダーを開きます。
デフォルトのキー配置でテンキーの各数字に割り当てられている「お気に入りタブ」で、それぞれ現在のフォルダーを保持している機能です。
「お気に入りタブ」を見分けるには、タブのタイトルの先頭に数字が表示されます。
【書式】
FavoriteJump=[お気に入りタブの数字(0~9)],[フルパス]
【例】
FavoriteJump=1,C:\WINDOWS
FavoriteJump=2,C:\Program Files
UBJump
任意のユーザー定義バーで指定のディレクトリを開きます。
【書式】
書式:数字(1~9),基準フォルダー([ユーザーディレクトリ]\BAR\)からの相対パス
数字(10),基準フォルダー([ユーザーディレクトリ]\Tablet\TabletAssist\)からの相対パス)
※10はタブレット支援バー固定です。
【例】
UBJump=1,Drive
FullStateOpen
本来は復元スクリプトを実現するために作られたコマンドで、性能重視で人間が使う事を考えてない、かなりの上級者向けのコマンドです。
ウィンドウ制御文字列を指定することで、任意の表示モードでウィンドウを開きます。
最近使ったフォルダーバーや、前回終了時の情報ファイルに格納されている形式です。
実際に文字列を作るのは難しいので、ユーザー定義バーの「現在タブ復元スクリプトの作成」を用いて作成すると良いでしょう。
自動的に生成される文字列をコピー&ペーストして流用すると良いでしょう。
詳細はこちらの「
ウィンドウ制御文字列の書式」や「
復元スクリプト詳細」を参照ください。
※Ver.14以前のFullStateOpenは「開く」動作でした。
Ver.15以降はアクティブタブを別途指定する考慮のため「バックグラウンドで開く」動作になっています。
【書式】
FullStateOpen=[ウィンドウ制御文字列]
【例】
FullStateOpen=0000|0000|0003|0 1 0 02 00 0 00000098 00000000 00000000 00 00 c:\hoge\test|
FullStateOpenEx
FullStateOpenとほぼ同じですが、渡されたパス文字列内に含まれる環境変数や変数を展開します。
FullStateOpenがあまりにも非人道的な仕様なので、少し緩和したものがこちらになります。
各種の内部コマンドをID指定で起動します。
使用可能なコマンドは「AllCommand.txt」やメニューの定義ファイルを参照してください。
合計で、約3,500個のコマンドIDが公開されています。
PostMessage/SendMessage
メインウィンドウに向けて各種のコマンド発行します。
※フォーカス位置によって、動作しない場合があります。
(アドレスバーにフォーカスがある場合、各種バー上にフォーカスがある場合、リスト上のアイテムをリネーム中とか)
複数アプリケーションが起動している場合は、Zオーダーが前の方に送られます。(FindWindow()というAPIで見つかる順です)
※スクリプト自体がバックグラウンドで処理されているので、本体と同期動作が必要なSendMessage系の使用は推奨しません。
【書式】
・非同期型
PostMessage=[コマンドID]
・同期型(終了を待つ)
SendMessage=[コマンドID]
【例】
更新の例
PostMessage=33301
名前順でソートの例
SendMessage=34100
PostMessageAll/SendMessageAll
開いている全てのタブへコマンドを発行します。
例えば、全てのタブを更新するとか、全てのタブを詳細表示にすると言った使い方を想定しています。
※スクリプト自体がバックグラウンドで処理されているので、本体と同期動作が必要なSendMessage系の使用は推奨しません。
【書式】
・非同期型
PostMessageAll=[コマンドID]
・同期型(終了を待つ)
SendMessageAll=[コマンドID]
【例】
PostMessageAll=33301
PostMessage1/PostMessage2
画面の状態依存のメッセージコマンドです。
これらのコマンドは子ウィンドウに対する制御なので、アプリケーション全体やOSに働きかけるようなコマンドは動作しません。
ウィンドウを開く/閉じる/各種バーの制御/OSに対する制御コマンドなどですが、切り分けは曖昧になっておりますので現状有姿のままの仕様と考えてください。(この切り分けは予告無く変更される可能性があります)
また、非同期で動いてアクティブリストを内部で判別しているようなコマンドも存在しており、アクティブ画面にしかコマンドが飛ばない場合もあります。
【書式】
画面分割されていない場合のみ、アクティブなリストにコマンド発行
PostMessage1=[コマンドID]
画面分割されている場合のみ、両方のリストにコマンド発行
PostMessage2=[コマンドID]
【例】
PostMessage1=33301
PostMessage2=33301
PostMessageBar
各種バーに、バー固有のコマンドを送信します。(使用できるコマンドIDはメニュー定義ファイルを参照)
【書式】
PostMessageBar=[バーID],[バー固有のコマンドID]
バーID | バーの名称 |
1 | フォルダーバー |
2 | プレビューバー(オプション表示のみ動作) |
3 | 最近閉じたウィンドウバー |
11 | タブバー |
100~108 | ユーザー定義バー1~9 |
【例】
フォルダーバーのオプションを表示
PostMessageBar=1,47950
PostMessageTab
指定されたタブ番号へ、PostMessageでコマンドを発行する。
タブ番号は横置きの場合は左から順に、縦置きの場合は上から順に0から割り振られます。
【書式】
PostMessageTab = [タブ番号],[コマンドID]
【例】
PostMessageTab = 1,35112
※タブ番号が1番のタブを閉じる
サンプル
比較的使い方が難しいとの指摘がありましたので、使用サンプルを提示しておきます。
//「C:\*」にマッチするタブを探して、存在していると閉じるコマンド発行
var $TabCount$ = 0
var $tmp$
//最大100タブまで走査対象にする
var $index$ = 100
ExitLoopCount = 100
//先頭から順に閉じていくとタブ番号がずれるので、タブの逆順の配列を作成
RemoveSelectItems
CREATE_LIST:
$tmp$ = GetTabPath,$index$
if $tmp$ != ERROR
// messageboxok=$tmp$
$TabCount$ = +1
AppendSelectItem = $tmp$
endif
$index$=-1
if $index$ != -1
goto CREATE_LIST
endif
$index$ = $TabCount$-1
for
if ?selfile? ^ c:\*
//messageboxok=閉じるタブ(?selfile?)
PostMessageTab = $index$,35112
endif
$index$=-1
next
指定したファイルにテキストを書き込むことができます。
排他モードでファイルを開くので、スクリプト内で他のアプリケーションに渡す必要がある場合は、FileCloseを使用してファイルを閉じてください。
また同時に1個しかファイルを開けませんので、複数のファイルを操作する必要がある場合は逐次ファイルを開いてください。
※Ver.5.3.0で追加されたコマンドです。
FileOpen
指定されたファイルが存在しない場合は新規作成、存在する場合は追記モードで開きます。
ファイルを開くことに失敗した場合はエラーメッセージが表示されます。
【書式】
FileOpen = 開くファイルのフルパス
FileOpenMode
直後のFileOpenコマンドに対して、ファイルオープンモードを指定します。
Includeで別のスクリプトファイルにまたがることはできません。
※新規作成モードの場合、既にファイルが存在する場合は警告なしでファイルサイズが0になるので十分ご注意ください。
※直後のFileOpenにしか影響を与えないので、一度FileOpenを実行してしまうと未指定状態に戻ります。ご注意ください。
【書式】
FileOpenMode = [パラメータ番号]
パラメータ番号 | 値 |
0 | 追記モードでファイルを開く、存在しなければ作成(省略した場合の初期値) |
1 | 新規作成モードでファイルを開く |
FileWriteA
指定された文字列をASCIIコードで出力する。(日本語環境の場合はSJISで出力されます)
改行コードはCRLFで自動付与されます。
FileOpenでファイルを開いていないとエラーメッセージが表示されます。
※主にDOSコマンドなどにファイルを渡す目的で用意されています
【書式】
FileWriteA = 出力文字列
FileWriteW
指定された文字列をUNICODEで出力する。(BOMは出力されません)
改行コードはCRLFで自動付与されます。
FileOpenでファイルを開いていないとエラーメッセージが表示されます。
※主にAs/R用のスクリプトを生成する目的で用意されています
【書式】
FileWriteW = 出力文字列
BomOut
直後のFileWriteWコマンドに対して、先頭にBOMを出力するか否かを指定します。
Includeで別のスクリプトファイルにまたがることはできません。
※直後のFileWriteWにしか影響を与えないので、一度FileWriteWを実行してしまうと未指定状態に戻ります。ご注意ください。
【書式】
BomOut = [パラメータ番号]
パラメータ番号 | 値 |
0 | BOM出力なし(省略した場合の初期値) |
1 | BOM出力あり |
FileClose
現在開いているファイルを閉じます。
任意のタイミングでファイルを閉じる目的のものなので、スクリプト終了時までファイルを開きっぱなしで良いのであれば省略可能です。
FileOpenでファイルを開いていなくてもエラーになりません。
【書式】
FileClose
【例】
FileOpen = c:\test1.txt
FileWriteA=あいうえお
FileClose
FileOpen = c:\test1.txt
FileWriteA=かきくけこ(追記)
FileOpen = c:\test2.txt
FileWriteA = さしすせそ(新規作成、この時点でc:\test1.txtがクローズされ、ロック解除)
Exec = %WINDIR%\notepad.exe c:\test1.txt
※出力ファイルがロックされていても構わない例なので、FileCloseは省略しています。
※ファイル操作系のコマンドに関する注意事項
スクリプトは起動時にスクリプトファイルを読み込み、実行中にスクリプトファイルを閉じた状態で動作します。
これを利用して自分自身を書き換えるという、自己改ざんが実現可能です。
悪用事例が見つかりましたら、本機能は一切の予告も警告もなく削除されますのでご了承ください。
DetectCodepage
指定したファイルのコードページを求めます。
候補が複数ある場合、コードページの判別に迷ったら日本語であると仮定した上で判別ポイントの多数決を行います。
文字コードの判別ができない場合「ERROR」と返します。
※少々乱暴な表現ですが、コードページとは文字コード種類を示す番号のようなものです。
※Windowsがサポートするすべてのコードページが使用できますが、残念ながらWindowsの変換機能をそのまま使用しているので厳密なものではありません。
※コードページ21027(US Ascii)は判別が上手くいかなくて誤認した時に良く使われます。
※Ver.13.4.0.0で追加された機能です。
【書式】
var $codepage$ = DetectCodepage, 文字コード種を調べるフルパスファイル名
【補足】
使用可能なコードページはこちらも参照ください。
SetCodepage
FileRead/FileAllReadで外部のファイルを読み込む場合、コードページを指定することで任意の文字コードのファイルを読み込めるようになります。
※Ver.13.4.0.0で追加された機能です。
【書式】
//ShiftJisを読み込む
SetCodepage=932
FileRead
指定されたファイルから1行読み込みます。
SetCodepageが未指定の場合はUNICODEのフラットテキストのファイルしか読めません。
BOMはファイルの先頭のみ読み飛ばします。
ファイルの終端まで行くと「ERROR」を返します。
1行の最大長は32KBで、それ以上は読み出せません。
※書き込み時のファイルとは完全に独立しており、このコマンドが呼び出されたタイミングでファイル全体をメモリに読み込みます。
指定ファイル名が前回と同じであれば、続けて次の行を取り出します。
指定ファイル名が前回と異なる場合は、メモリに保持していたデータを破棄して新しいファイルを読み込みます。
ファイル名の比較は大文字/小文字を区別します。
改行はCR/LF/CRLFを認識します。
※Ver.10.0.0で追加されたコマンドです。
【書式】
変数 = FileRead,フルパスファイル名
【例】
var $1行目$=FileRead,C:\hoge\test.txt
var $2行目$=FileRead,C:\hoge\test.txt
var $別のファイル1行目$=FileRead,C:\hoge\test2.txt
【補足】
少々複雑なサンプル
//リスト部で選択されたファイルの中身を、1行ずつ音声合成に渡して読み上げます
CheckGrammar = 1
var $ファイルの中身$
var $codepage$
for
//文字コードの判別
$codepage$ = DetectCodepage, ?selfile?
//文字コードの判別ができなければエラーメッセージを出す
if $codepage$ != ERROR
//ファイルのコードページをセット
SetCodepage = $codepage$
do
$ファイルの中身$ = FileRead,?selfile?
if $ファイルの中身$ !=ERROR
Speach = $ファイルの中身$
endif
while $ファイルの中身$ !=ERROR
else
MessageboxOk=コードページが判断できません
endif
next
FileAllRead
指定されたファイルから全行を、全て読み込みます。
SetCodepageが未指定の場合はUNICODEのフラットテキストのファイルしか読めません。
BOMはファイルの先頭のみ読み飛ばします。
通常の変数の代入式では、タブ文字、前後のスペース、改行文字などが格納できませんが、この機能を使った場合は特殊な例外になります。
具体的にはSpeechコマンドへXMLファイルの内容を丸投げして読ませる目的で作られたコマンドです。
※他のコマンドの利用時に、禁止文字が半角スペースに置換されて失われる場合がありますのでご注意ください。
※Ver.10.0.0で追加されたコマンドです。
【書式】
変数 = FileAllRead,フルパスファイル名
【例】
var $全行$=FileAllRead,C:\hoge\test.txt
【補足】
少々複雑なサンプル
//リスト部で選択されたファイルの中身を、1ファイル丸ごと音声合成に渡して読み上げます
CheckGrammar = 1
var $ファイルの中身$
var $codepage$
for
//文字コードの判別
$codepage$ = DetectCodepage, ?selfile?
//文字コードの判別ができなければエラーメッセージを出す
if $codepage$ != ERROR
//ファイルのコードページをセット
SetCodepage = $codepage$
$ファイルの中身$ = FileAllRead,?selfile?
if $ファイルの中身$ !=
Speach = $ファイルの中身$
endif
else
MessageboxOk=コードページが判断できません
endif
next
本体から連動してきたファイルなどの選択状態を加工するコマンドです。
本体からの連携せず、処理対象を動的に変更したい場合などに使用してください。
また、任意文字列の配列をfor文でループするといった応用も可能です。
RemoveSelectItems
リストから渡される選択アイテムのリストを全件削除、条件に合致するものを削除します。
※選択アイテムのリストは、for文などで使用する元になります。
※Ver.7.3.0で追加されたコマンドです。
【書式】
全件削除
RemoveSelectItems
条件に一致するものだけ削除(*.txtか、*.iniで一致するものを削除する)
RemoveSelectItems = *.txt;*.ini
条件に一致しないものだけ削除(先頭に!があると否定の意味になり、*.txtか*.iniで一致するものだけ残す)
RemoveSelectItems = ! *.txt;*.ini
AppendSelectItem
リストから渡される選択アイテムのリストに追加します。
※Ver.10.0.0で追加されたコマンドです。
【書式】
AppendSelectItem=文字列
※任意の文字列の配列でループをまわすというのも、この機能を使用することで実現が可能です。
AppendCsvSelectItem
リストから渡される選択アイテムのリストに、カンマ区切りで渡されたテキストをまとめて追加します。
※Ver.7.3.0で追加されたコマンドです。
【書式】
AppendCsvSelectItem=文字列
【例】
var test = あ,い,う,え,お
RemoveSelectItems
AppendCsvSelectItem=test
for
messageboxok = ?SelFile?
next
※あ,い,う,え,おと順番に表示される
GetSelectItems
指定したフォルダー以下のファイルを走査して、選択リストに追加します。
※Ver.7.3.0で追加されたコマンドです。
【書式】
GetSelectItems=[フルパスディレクトリ名/フルパスのワイルドカード指定]
【例】
GetSelectItems=C:\windows\*.log
GetSelectItems=C:\windows\
GetSelectItems=C:\windows
右クリックメニューに表示されるコマンドを実行します。
ContextCommandText
現在、リスト上で選択しているアイテムに対して右クリックメニューのコマンドをテキスト形式で指定して実行します。
メニューに表示されている文字列を、上から部分一致で探して実行するので、似ている項目がある場合は想定外のコマンドを実行しないように気をつけてください。
※右クリックメニューに対して前方一致するコマンドを実行します。
※下位階層のメニューコマンドは対象外となります。
【書式】
ContextCommandText=[コマンドテキスト]
【例】
ContextCommandText=プロパティ
ContextCommandText=SVN 更新
ContextCommandID
現在、リスト上で選択しているアイテムに対して右クリックメニューのコマンドをIDで指定して実行します。
※選択しているファイルが異なる場合、同じIDでも動作が異なる場合があります。
※使用しているソフトウェアや設定などの環境によってIDと動作が一致しない場合がありますので、異なるPC間での運用の際にはご注意ください。
※コマンドIDを調べるには、隠し機能である「リストで選択している状態のコンテキストメニューを表示し、項目を選択するとコマンド名とIDをクリップボードにコピーするコマンド」(ID:35907)を利用すると取得できます。
詳細は、Appendixの隠し機能の頁を参照ください。
【書式】
ContextCommandID=[コマンドID]
【例】
ContextCommandID=48000
レジストリキーの「HKEY_CURRENT_USER\Software\AMA_Soft\ASR\Main001」の階層のデータを読み書きします。
※バーのレイアウト/管理情報はライブラリの管理情報が多いのでアクセスを許可していません。
もちろん相対指定はできませんし、As/Rの管理範囲外の書き込みは禁じられているのでOSやその他のシステムに影響を与える事はありませんが、レジストリ操作には違いないので十分ご注意ください。
また不適切な値を登録するとAs/Rが動作しなくなる可能性もありえますので、設定のエクスポートを行ってバックアップを取ってから使用してください。
※設定値は膨大な数があり、資料化が大変なので非公開とさせていただきます。
ビット演算が必要な箇所や、複雑な計算が必要な設定項目もあります。
WriteRegNum
レジストリに数値を書き込みます。数値は10/16進数が使えます。
【書式】
WriteRegNum=[As/Rの管理階層のセクション],[エントリ],値
【例】
WriteRegNum=ListMouse,DropCreateDir,0
※ファイルにドロップでフォルダーを作成をOFFにする設定です。
WriteRegString
レジストリに文字列を書き込みます。
【書式】
WriteRegString=[As/Rの管理階層のセクション],[エントリ],値
【例】
WriteRegString=ListInit,InitPath,c:\
※新しくタブを開く際の初期ディレクトリの設定です。
ReadRegNum
レジストリの数値を読み込みます。
設定値が見つからない場合は0を返します。
【書式】
ReadRegNum,[As/Rの管理階層のセクション],[エントリ]
【例】
var $変数$ = ReadRegNum,ListMouse,DropCreateDir
ReadRegString
レジストリの文字列を読み込みます。
設定値が見つからない場合は「ERROR」を返します。
【書式】
ReadRegString,[As/Rの管理階層のセクション],[エントリ]
【例】
var $変数$ = ReadRegString,ListInit,InitPath
LoadSetting
設定を再読み込みします。
【書式】
LoadSetting=[画面更新フラグ]
【例】
LoadSetting=1
画面更新フラグ | 値 |
1以外 | 設定を再読み込むだけで更新しない |
1 | 設定を再読み込みし、画面の再構築をして反映させる |
タブの保持している情報を取得します。
スクリプトが動いているスレッドと、画面のスレッドは独立しており、スクリプトで取得できる情報と画面が一致しなくなる場合がありうると言うことにご注意ください。
前述のPostMessageTabも併用すると、特定のタブに対してコマンドを実行することができます。
GetTabPath
開いているタブの番号を指定して、指定されたタブのパスを返す。
タブ番号はタブバーに表示されている順番で、0から始まる数値を指定する。
範囲外の数字を指定すると"ERROR"という文字列を返す。
パスの終端には必ず\が付与される。
仮想フォルダーの場合はGUID表記のパスで返される。
【書式】
var 変数 = GetTabPath,[タブ番号]
【例】
var $変数$ = GetTabPath,1
GetTabIndex
開いているタブの中から、指定されたワイルドカード文字列と一致する最初のタブ番号を返す。
またワイルドカード文字列に「My」を指定した場合は、現在アクティブなタブの番号を返す。
スクリプトと画面のスレッドの動作は同期していないので、スクリプトへ返された値が正しいことを保障しない。
ワイルドカードを使用せず完全一致を見る場合は、タブの持っているパスは必ず\記号で終わっていることに注意すること。
一致するタブが存在しない場合は"ERROR"という文字列を返す。
【書式】
var $変数$ = GetTabIndex,[ワイルドカード文字列/My]
【例】
var $変数$ = GetTabIndex,c:\test??\*
var $変数$ = GetTabIndex,My
Speech
コントロールパネルの音声合成で指定された言語および設定で、指定された文字列を読み上げます。
※Ver.13.0.6.0より前のバージョンではスペルミスでSpeachになっています。
Ver.14から使えなくなりますのでご注意ください。
※モードによってXML文字列を渡すことによって、抑揚や速度などが定義可能です。
興味のある方は、こちらを参考にしてください。
XML TTS Tutorial
【書式】
Speech=[音声合成で発音する文字列、抑揚などの制御を加えるならこの文字列を改行無しのxmlで記述する]
【日本語が使用できる場合の例】
Speech=こんにちは、世界!
【英語が使用できる場合の例】
Speech=Hello world!
※音声合成エンジンについて
Microsoft社の提供している音声合成エンジンは2種類存在します。
Microsoft Speech Platform(日本語を含めほとんどの言語が無償配布、エンジンのみ)と、SAPI(日本語版はOfficeと配布、コントロールパネルに登録される)と呼ばれているものです。
残念ながら、As/RではSAPIを使用しているのでMicrosoft Speech Platformをインストールしていても喋らせることができません。
Windows8以降であれば、SAPIの日本語版も標準で搭載されていますが、Windows7ではOfficeなどに同梱されているものを導入する必要があります。
SpeechFlag
Speechコマンドで渡されたテキストをどのように解釈するかを指定します。
フラグは以下のように定義されており、組み合わせで使用することができます。
初期値は0です。
※Speechコマンドの前にセットしておくこと。
※SpeechFlagをVoiceXMLモード(0x8)をセットした場合、SpeechVolume/SpeechRateSpeedは初期値として扱われます。
※非同期モードにすると、読み上げ終了前にメモリを解放するので使用しないでください。
スクリプト自体がバックグラウンドで実行されれるので、あまり非同期読み上げのメリットは少ないと思われます。
【書式】
SpeechFlag = フラグ組み合わせ
【例】
SpeechFlag=9
追加情報
フラグの値は以下のように定義されています。
#define SPF_DEFAULT 0
#define SPF_ASYNC 0x1
#define SPF_PURGEBEFORESPEAK 0x2
#define SPF_IS_FILENAME 0x4
#define SPF_IS_XML 0x8
#define SPF_IS_NOT_XML 0x10
#define SPF_PERSIST_XML 0x20
#define SPF_NLP_SPEAK_PUNC 0x40
#define SPF_PARSE_SAPI 0x80
#define SPF_PARSE_SSML 0x100
#define SPF_PARSE_AUTODETECT 0
SpeechVolume
Speechコマンドでの読み上げ時の声の音量を指定します。(0-100)
初期値は100です。
※Speechコマンドの前にセットしておくこと。
【書式】
SpeechVolume = 読み上げ音量
【例】
SpeechVolume=70
SpeechRateSpeed
Speechコマンドでの読み上げ時の声の速さを指定します。(0-20)
初期値は10です。
※Speechコマンドの前にセットしておくこと。
【書式】
SpeechRateSpeed = 読み上げ速度
【例】
SpeechRateSpeed=18
Random
指定ディレクトリ直下のファイル名もしくは、フォルダー名をランダムで返します。
存在しないディレクトリを指定したり、下位階層に何も存在しない場合、ワイルドカード指定で1件もヒットしない場合は空文字を返します。
BackgroundImageやPlayWavのように、遊び要素のあるコマンド類と組み合わせて使用することを想定しています。
- ディレクトリの走査上限数は1000件で、それ以上のファイルが存在しても無視します。
- 乱数種は厳密なものではないので、厳密性が求められる用途には使用しないでください。
- 走査フォルダーが空の場合は、空文字を返します。
【書式】
var 変数=Random,[フルパスディレクトリ名/フルパスのワイルドカード指定]
【例】
var 変数=Random,C:\Image\*.jpg
var 変数=Random,C:\Image\
var 変数=Random,C:\Image
var $起動時イベントで音鳴らすスクリプト$ = Random,C:\sound
PlayWav = $起動時イベントで音鳴らすスクリプト$
//10分おきに呼び出すイベントスクリプトに登録する例
var $背景画像$ = Random,C:\階層を作ってたくさん画像を放り込んでるフォルダー
var $IsFile$
RETRY:
if $背景画像$ ==
MessageboxOK = 空のディレクトリだったので中断!
exit
endif
$IsFile$ = IsFile,$背景画像$
if $IsFile$ == 0
//取得したものがディレクトリだったので、更に下位階層を探索する
$背景画像$ = Random,$背景画像$
goto RETRY
endif
BackgroundImage = All,4,200,0,$背景画像$
GetSystemMetrics
MoveWindowコマンドと連携するために用意されたコマンドです。
システムの様々な表示要素の幅と高さと、システムの現在の構成値を取得します。
【書式】
変数 = GetSystemMetrics,取得情報を表す数値
【例】
var $value$ = GetSystemMetrics,1
追加情報
取得できるシステム情報は、WinUser.hには以下のように定義されておりますので、抜粋して紹介します。
各定義の値については、こちらのサイトを参照ください。
https://msdn.microsoft.com/ja-jp/library/cc429812.aspx
#define SM_CXSCREEN 0
#define SM_CYSCREEN 1
#define SM_CXVSCROLL 2
#define SM_CYHSCROLL 3
#define SM_CYCAPTION 4
#define SM_CXBORDER 5
#define SM_CYBORDER 6
#define SM_CXDLGFRAME 7
#define SM_CYDLGFRAME 8
#define SM_CYVTHUMB 9
#define SM_CXHTHUMB 10
#define SM_CXICON 11
#define SM_CYICON 12
#define SM_CXCURSOR 13
#define SM_CYCURSOR 14
#define SM_CYMENU 15
#define SM_CXFULLSCREEN 16
#define SM_CYFULLSCREEN 17
#define SM_CYKANJIWINDOW 18
#define SM_MOUSEPRESENT 19
#define SM_CYVSCROLL 20
#define SM_CXHSCROLL 21
#define SM_DEBUG 22
#define SM_SWAPBUTTON 23
#define SM_RESERVED1 24
#define SM_RESERVED2 25
#define SM_RESERVED3 26
#define SM_RESERVED4 27
#define SM_CXMIN 28
#define SM_CYMIN 29
#define SM_CXSIZE 30
#define SM_CYSIZE 31
#define SM_CXFRAME 32
#define SM_CYFRAME 33
#define SM_CXMINTRACK 34
#define SM_CYMINTRACK 35
#define SM_CXDOUBLECLK 36
#define SM_CYDOUBLECLK 37
#define SM_CXICONSPACING 38
#define SM_CYICONSPACING 39
#define SM_MENUDROPALIGNMENT 40
#define SM_PENWINDOWS 41
#define SM_DBCSENABLED 42
#define SM_CMOUSEBUTTONS 43
#define SM_CXFIXEDFRAME SM_CXDLGFRAME
#define SM_CYFIXEDFRAME SM_CYDLGFRAME
#define SM_CXSIZEFRAME SM_CXFRAME
#define SM_CYSIZEFRAME SM_CYFRAME
#define SM_SECURE 44
#define SM_CXEDGE 45
#define SM_CYEDGE 46
#define SM_CXMINSPACING 47
#define SM_CYMINSPACING 48
#define SM_CXSMICON 49
#define SM_CYSMICON 50
#define SM_CYSMCAPTION 51
#define SM_CXSMSIZE 52
#define SM_CYSMSIZE 53
#define SM_CXMENUSIZE 54
#define SM_CYMENUSIZE 55
#define SM_ARRANGE 56
#define SM_CXMINIMIZED 57
#define SM_CYMINIMIZED 58
#define SM_CXMAXTRACK 59
#define SM_CYMAXTRACK 60
#define SM_CXMAXIMIZED 61
#define SM_CYMAXIMIZED 62
#define SM_NETWORK 63
#define SM_CLEANBOOT 67
#define SM_CXDRAG 68
#define SM_CYDRAG 69
#define SM_SHOWSOUNDS 70
#define SM_CXMENUCHECK 71
#define SM_CYMENUCHECK 72
#define SM_SLOWMACHINE 73
#define SM_MIDEASTENABLED 74
#define SM_MOUSEWHEELPRESENT 75
#define SM_XVIRTUALSCREEN 76
#define SM_YVIRTUALSCREEN 77
#define SM_CXVIRTUALSCREEN 78
#define SM_CYVIRTUALSCREEN 79
#define SM_CMONITORS 80
#define SM_SAMEDISPLAYFORMAT 81
#define SM_IMMENABLED 82
#define SM_CXFOCUSBORDER 83
#define SM_CYFOCUSBORDER 84
#define SM_TABLETPC 86
#define SM_MEDIACENTER 87
#define SM_STARTER 88
#define SM_SERVERR2 89
#define SM_MOUSEHORIZONTALWHEELPRESENT 91
#define SM_CXPADDEDBORDER 92
#define SM_REMOTESESSION 0x1000
#define SM_SHUTTINGDOWN 0x2000
#define SM_REMOTECONTROL 0x2001
#define SM_CARETBLINKINGENABLED 0x2002
●Windows 7以降
#define SM_DIGITIZER 94
#define SM_MAXIMUMTOUCHES 95
●Windows 8以降
#define SM_CONVERTIBLESLATEMODE 0x2003
#define SM_SYSTEMDOCKED 0x2004
MainWindowPosition
MoveWindowコマンドと連携するために用意されたコマンドです。
本体のウィンドウ座標を返します。
本コマンドはGetWindowPlacement()というWindowsのAPIを使用しているため、Windows10でAerpテーマを使用している場合は他のOSとは異なる値を返してきます。
OS同梱のexeも完全には対応してない状況なので当面は今後の状況の推移を見守っております。
その結果によっては、本スクリプトコマンドの仕様が変更される可能性があることをご了承ください。
【書式】
変数 = MainWindowPosition,[取得情報種別]
【例】
var $left$ = MainWindowPosition,1
【取得情報情報種別】
値 | 意味 |
1 | 左上座標のX座標(left) |
2 | 左上座標のY座標(top) |
3 | 右下座標のX座標(right) |
4 | 右下座標のY座標(bottom) |
5 | 最小化されているか否か(0/1) |
6 | 最大化されているか否か(0/1) |
分類できない、単発のコマンドをまとめました。
地味ですが強力な機能が多いです。
CheckGrammar
文法間違いなどで認識できないスクリプト行が存在した場合に、処理を続行するか否かの確認メッセージを表示する/しないを切り替えます。
未設定の場合は、0が指定されています。
制御スクリプトの作成時は、1を指定しておくと不具合の修正が楽になります。
またデバッグエディタを指定し、処理を続行しない旨の「いいえ」を選択するとデバッグ用のテキストエディタを起動します。
※よそ様のエディタを用いて例示しているものは公開情報を元に記載しているので未検証です。
間違っていたらご指摘ください。
【書式】
CheckGrammar=[0:チェックなし/1:チェックあり/デバッグエディタの指定]
【例】
CheckGrammar=1
【秀丸エディタでエラー発生行を開く例】
CheckGrammar=(インストールパス)\Hidemaru.exe /j?ErrorLine? "?ScriptPath??ScriptName?"
【EmEditorでエラー発生行を開く例】
CheckGrammar=(インストールパス)\EmEditor.exe "?ScriptPath??ScriptName?" /l ?ErrorLine?
【サクラエディタでエラー発生行を開く例】
CheckGrammar=(インストールパス)\sakura.exe "?ScriptPath??ScriptName?" -Y=?ErrorLine?
【Wz Editor7でエラー発生行を開く例】
CheckGrammar=(インストールパス)\WZ EDITOR 7\wzeditor.exe /j?ErrorLine? "?ScriptPath??ScriptName?"
EOF
出現位置から後ろのスクリプトの読み込みを終了します。
Exitと異なり、出現位置から後ろの変数定義やラベル定義も読み込まないので、スクリプト末尾以外で使用しないでください。
スクリプトファイルの末尾に、コメントを挿入する目的と、不要な読み込みを明示的に終了させることができるように用意されています。
【書式】
Eof
Exit
呼ばれた時点でスクリプトの実行を終了します。
ループ内から強制終了したり、処理の分岐結果などでスクリプトを中断したい場合に使用します。
EOFとは異なり、以降も字句解析の対象となります。
【書式】
Exit
Icon
明示的なアイコンファイルの指定です。未指定の場合はRun節のアイコンを取得します。
なお、Icon節で指定した方がアイコンキャッシュの生成にかかる速度面で有利に働きます。
またIconとRunは先に出てきた方を採用するので、極力ファイルの先頭に記述することを推奨します。
こちらはマルチアイコンファイルに対応しております。カンマ区切りでアイコンインデックスを記載してください。
【書式】
Icon=[アイコン画像を取得するパス<,アイコンインデックス>]
【例】
Icon=C:\WINDOWS\explorer.exe,5
MoveWindow
メインウィンドウを指定された座標に移動します。
※Windows10でAeroが有効な場合、他のOSとは表示位置が若干ずれる可能性があることをご注意ください。
【書式】
MoveWindow=[left],[top],[width],[height]
【例】
MoveWindow=0,0,800,600
PlayWav
Wavファイルを非同期で再生します。
必殺技を叫びながらコマンドを実行するための機能です。
要望に沿って作られたものですが、現在利用されているかは定かではありません。
【書式】
PlayWav=[wavファイルのフルパス]
【例】
PlayWav=c:\test\test.wav
Select
リスト上に表示されているアイテムを選択します。(実体名で比較します)
ワイルドカードを使用することで部分一致の検索が可能です。
また、セミコロンで区切って複数指定することが可能です。
実体名をもたない仮想アイテムは、必ずヒットしません。
【書式】
Select=[選択するファイル名]
【例】
Select=*.cpp;*.h
Wait
この記述が見つかったタイミングで、ミリ秒単位で指定するウェイトです。
(RunWaitとは動作のタイミングが異なります)
ファイル出力直後からOSが認識するタイムラグを待ったり、アプリケーションの連続起動で誤動作することを抑制したりします。
主に前述のPostMessageの待機時間の調整を主目的にしています。
連続でアプリケーションを起動した場合、DDE通信が追いつかなくて誤動作を起こすアプリケーションがある場合に使用します。
参考までに、MS-Office製品やWZ Editorなどでウェイトを入れた方が良いバージョンがあります。
【書式】
Wait=[ウェイト(ミリ秒)]
【例】
Wait=50
ListInnerParam
アクティブなリストの内部情報を書き換えます。
パラメータの変更だけなので、再描画はされないことをご注意ください。
(内部情報を操作するコマンドなのでVer.5以降しか動作しません)
【書式】
ListInnerParam=[パラメータ番号][変更値]
【例】
ListInnerParam=1,0(一覧モードのファイル名のテキスト幅を0にして自動調整モードにする)
postmessage=33301(パラメータだけを変えても再描画されないので、最新の状態へ更新コマンドを発行)
パラメータ番号 | 変更するパラメータ | 型 |
1 | ファイル名のテキスト幅(一覧/詳細一覧のみ反映) | 数値 |
2 | 拡張子のテキスト幅(詳細一覧のみ反映) | 数値 |
3 | サイズのテキスト幅(詳細一覧のみ反映) | 数値 |
4 | 日付のテキスト幅(詳細一覧のみ反映) | 数値 |
5 | 属性のテキスト幅(詳細一覧のみ反映) | 数値 |
Include
外部スクリプトを実行し、外部スクリプトの実行が終わると、現在行に戻ってきます。
共通的な変数の定義や、サブルーチン化したスクリプトの呼び出しなどに使用することを想定しています。
※呼び出した外部スクリプトは、変数定義と選択アイテムの情報のみ、呼び出し元のスクリプトから引き継ぎます。
特に変数は、多重定義にならないようにご注意ください。
※再帰チェックはしないので、自分自身を呼びだす際にはスタックオーバーフローにならないように注意してください。
※State系の置換マクロは呼び出された側で、再度取得されます。
※Ver.5.3.0で追加されたコマンドです。
【書式】
Include=スクリプトのフルパス
【例】
・親スクリプトの記述
var $test$=親スクリプトで定義した変数
Include=c:\test\script\test_script.txt
Include=c:\test\script\test_script.txt
・test_script.txtの記述
MessageBoxOK = $test$
$test$ = 子スクリプトで値を格納した変数
ExitAll
スクリプトの実行を終了します。
Exitとの違いは、Includeで呼び出した外部スクリプトの中であってもExitAllの出現時点で終了します。
※呼び出したスクリプトへ戻りません。処理を戻す必要がある場合は、Exitを使用してください。
※Ver.5.3.0で追加されたコマンドです。
【書式】
ExitAll
UpdateState
通常はスクリプト呼び出し直後の値を保持するState系の置換マクロですが、この内容を最新の状態に更新します。
※State系の置換マクロは固定された値ではないので、常に現在アクティブなビューのアクティブリストを対象とします。
特に画面分割していたり、すばやくタブを切り替える場合は十分ご注意ください。
※Ver.5.3.0で追加されたコマンドです。
【書式】
UpdateState
【例】
MessageBoxOK = 選択数:?State:SelectedCount?
Select = *.txt
UpdateState
MessageBoxOK = 選択数:?State:SelectedCount?
BackgroundImage
各種リストコンポーネントの背景画像を指定します。
bmp,png,jpg,gif,tif,emf,ico,wmfは表示できます。
※画像を縮小する場合はサムネイルエンジンを使うので、これ以外に動画なども表示可能です。
※Ver.5.5.0で追加されたコマンドで、Ver.4系では動作しません。
【書式】
BackgroundImage = [ターゲット], <[描画方法], [X座標オフセット], [Y座標オフセット], [画像のフルパス]>
項目 | 値 | 説明 |
ターゲット |
Now |
現在アクティブなリスト(画面分割時には両方に送信) |
One | 現在アクティブなリスト(画面分割時にはアクティブ側のみ送信) |
All | 全てのリスト |
0~8 | ユーザー定義バー |
描画方法 |
0 |
原寸位置指定描画
座標位置を100分率で指定
スクロールの影響を受ける<
/td>
|
1 | 原寸位置指定タイル描画 並べて表示 1枚目の描画位置に座標が100分率で適用される |
2 |
原寸で右下端固定
座標は無視する
スクロールの影響を受けない |
3 |
原寸で右下端固定
座標は無視する
スクロールの影響を受けない
32ビットBMP/透過GIF/透過PNGなどのアルファブレンド情報を持つ画像を表示する
|
4 |
縮小して右下端固定
座標を画像のピクセルとみなし、これに収まるように画像を縮小する
本縮小画像はサムネイルエンジンを使っているので動画やファイルアイコンなども表示できる
画像は潰れる、アスペクト比を完全には保持しないので鑑賞用には向かない
邪魔にならないような、マスコット表示的な使い方を想定
|
X座標 |
原寸表示の場合は位置を示す100分率(0~100)
縮小表示の場合は画像幅(0~65535)
|
左端を基点とした百分率で配置を指定
100%にすると右端になる
|
Y座標 |
原寸表示の場合は位置を示す100分率(0~100)
縮小表示の場合は画像幅(0~65535)
|
上端を基点とした百分率で配置を指定
100%にすると下端になる
|
画像のフルパス |
パス指定
|
画像ファイルのフルパス
|
【例】
画像指定解除
BackgroundImage = All
BackgroundImage = Now
画像を指定(全部のリスト中央の下に描画)
BackgroundImage = All,0,0,50,100,c:\test\image.bmp
先頭の選択ファイルを指定(ランチャの右下あたりに描画)
for
BackgroundImage = 0,0,100,90,?selfile?
break
next
CreateRestoreScript
前回終了時の情報を保存する機能は、Ver.15にて廃止になりました。
CreateNowRestoreScript
CreateRestoreScriptの代替機能です。
指定されたファイル名で、現在のタブ構成の復元スクリプトを作成します。
出力モードの指定により、4種類の復元スクリプトを生成できます。
復元スクリプトの詳細については「
復元スクリプト詳細」を参照ください。
【書式】
CreateNowRestoreScript=[出力モード],出力ファイルのフルパス
出力モード
1 | 現在のタブ |
2 | 全てのタブ |
3 | 一旦閉じる+全てのタブ |
4 | タブセット |
【例】
var $保存するタブセット名$=input,保存するタブセット名を入力してください
CreateNowRestoreScript=4,?nowdir?\$保存するタブセット名$_?Date?-?Hour?-?Minute?-?Second?.txt
ActiveTabNo
タブバー上にあるタブの何番目を選択状態にするかを指定する。。
※アクティビティ切り替え用の復元スクリプトにて、アクティブタブをセットする目的で作られたものです。
並列/遅延で動作する、まとめてタブを閉じる系/まとめて新たにタブを開く系の動作と極めて相性が悪く、確実な実用性を約束するものではありません。
タブの個数を数え間違え、意図しないタブが選択される場合があるのでご注意ください。
サンプルは「
復元スクリプト詳細」を参照ください。
【書式】
ActiveTabNo=[タブバーの並び順で何番目かを指定]
【例】
ActiveTabNo=11
関連項目
・
基本的なスクリプトコマンド
・
スクリプトコマンドリファレンス
・
スクリプトの制御構文
・
置換マクロリファレンス
・
置換マクロ対応表
・
実行コマンドの違い一覧
・
定義系コマンド一覧
・
ウィンドウ制御文字列の書式
・
復元スクリプト詳細