(for Internet Explorer)
← ▼ ▲
↑
Setting_getNaturalDocsPerlPath
Function Setting_getNaturalDocsPerlPath() as string
の本体（Perl スクリプト）のパスを返します。
[ 親: setting フォルダー ]
GetExistPathInSetting
NaturalDocs がインストールされていないと、
による警告がされます。
定義サンプル
Function Setting_getNaturalDocsPerlPath()
Setting_getNaturalDocsPerlPath = GetExistPathInSetting( Array( _
g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\NaturalDocs\NaturalDocs" ), _
g_sh.ExpandEnvironmentStrings( "%ProgramFiles(x86)%\NaturalDocs\NaturalDocs" ) ), _
"Setting_getNaturalDocsPerlPath" )
End Function
ソース
→ PC_setting_default.vbs
Natural Docs
この関数の定義は、ユーザーが変更できます。
← ▼ ▲
Setting_getDoxygenPath
Function Setting_getNaturalDocsPerlPath() as string
doxygen のフォルダーのパスを返します。
[ 親: setting フォルダー ]
GetExistPathInSetting
doxygen がインストールされていないと、
による警告がされます。
定義サンプル
Function Setting_getDoxygenPath()
Setting_getDoxygenPath = GetExistPathInSetting( Array( _
g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\doxygen" ), _
g_sh.ExpandEnvironmentStrings( "%ProgramFiles(x86)%\doxygen" ) ), _
"Setting_getDoxygenPath" )
End Function
ソース
→ PC_setting_default.vbs
この関数の定義は、ユーザーが変更できます。
← ▼ ▲
Setting_getSnapNotePath
Function Setting_getSnapNotePath() as string
Snap Note の本体のパスを返します。
[ 親: setting フォルダー ]
GetExistPathInSetting
Snap Note が見つからないと、
による警告がされます。
定義サンプル
Function Setting_getSnapNotePath()
Setting_getSnapNotePath = GetExistPathInSetting( Array( _
g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\Snap Note\Snap Note.exe" ) ), _
"Setting_getSnapNotePath" )
End Function
ソース
→ PC_setting_default.vbs
この関数の定義は、ユーザーが変更できます。
← ▼ ▲
その他
→ g_Vers
← ▼ ▲
ユーザーインターフェース
→ input
→ echo
→ pause
コマンドプロンプト、またはウィンドウにメッセージを表示します。
Enter キーを押すまで待ちます。
プロンプトを表示し、ユーザからのキーボード入力を待ちます。
→ SendKeys
キーボード入力をエミュレーションします。
他にもあります。左のツリーから選択してください。
→ Play
→ SystemSound
音楽ファイルや効果音ファイルを鳴らします。
コントロールパネルに設定されている効果音を鳴らします。
テスト
→ ユーザインターフェースのテスト
→ InputCommand
に入ります。
ショートハンド・プロンプト
← ▼ ▲
echo
Function echo( Message as variant ) as string
コマンドプロンプト、またはウィンドウにメッセージを表示します。
【引数】
Message
表示する内容、またはオブジェクト
echo "はろー"
echo 1+1
サンプル：
Message にオブジェクトを指定した場合、Value プロパティを表示します。
参考
Class ClassX
Public Property Get Value()
関連
→ echo_r
返り値
表示した内容（文字列）
→ echo_flush
→ EchoOff
→ WScript::Echo
があるときは、出力しません。
サンプル： ファイルとコマンドプロンプトの両方に出力する
Dim out : Set out = OpenForWrite( "_out.txt", Empty )
out.WriteLine echo( "はろー" )
→ GetEchoStr
→ T_Var.vbs # T_LoadEnvVars
テスト
g_CommandPrompt
で、コマンドプロンプトを表示しているときは、コマンド・
プロンプトの中に、そうではないときは、ウインドウに表示します。
echo は、
EchoOff オブジェクト
を使っているときは、Test_logs.txt ファイルにも出力します。
テスト・プロンプト (Test.vbs)
EchoOff オブジェクトがあるときでも出力したいときは、echo_v を使うか、標準出力して
ください。
例：echo_r "text", ""
今まで echo した内容をウィンドウで表示します。
echo で出力しないようにします。
標準出力かファイルに、文字列を出力します。
VBScript / WSH の標準的な表示関数。
ファイル：
vbslib.vbs
→ GetEchoStr
Message を表示可能な文字列に変換します。
Set obj = new ClassX
echo obj '// obj.xml プロパティを表示する
サンプル：
はろー
2
実行結果：
Dim a
a = 5
echo "a = "& a
a = 5
実行結果：
サンプル：
実行結果：
名前は、太郎です。
Dim name
name = "太郎"
echo "名前は、"+ name +"です。"
サンプル：
サンプル：
Dim name
name = input( "あなたの名前は？>" )
echo name +"さんですね。"
実行結果：
あなたの名前は >次郎
次郎さんですね。
input
echo
→ echo 出力して、その内容が正しいことをチェックするテスト
ソース
→ vbslib.vbs
← ▼ ▲
echo_flush
Sub echo_flush()
(src)
コマンド・プロンプトを表示していないとき、今まで echo した文字列をウィンドウで表示します。
コマンド・プロンプトを表示しているときは、何もしません。
echo_flush を呼び出さなくても、プログラム終了時、pause、input 時、何度も echo したときは、
ウインドウに自動的に表示します。
参考
→ g_CommandPrompt
コマンドプロンプトを表示するかどうか
echo "注意してください。"
echo_flush
サンプル：
ファイル：
vbslib.vbs
← ▼ ▲
echo_line
Sub echo_line()
(src)
水平線を表示します。
------------------------------------------------------------
表示内容：
ファイル：
vbslib.vbs
← ▼ ▲
EchoOff オブジェクト
Function FuncA( Param1 )
echo ">FuncA " & Param1
Dim ec : Set ec = new EchoOff
echo "SubA"
ec = Empty
echo FuncA
End Sub
EchoOff オブジェクトがあるときは、
echo
で出力しません。
呼び出した関数名を表示する
EchoOff オブジェクトの削除で、表示を復活します。
ec=Empty しない場合でも、FuncA から返ると自動的に復活します。
（デストラクタによるため）
通常、下記のように使います。
→ DisableEchoOff
関連
EchoOff オブジェクトがあるときに、長い処理の進捗状況を表示したいときは、echo_r で標準出力へ出力して
ください。
→ echo_r
EchoOff
echo で表示しないようにする
ここの echo では表示されません。 実際は、FuncA 関数から呼び
出す関数の中から呼ばれる echo による表示を抑制します
→ vbslib.vbs
ソース
→ vbslib_mini.vbs
← ▼ ▲
g_EchoObj.m_bEchoOff
Dim g_EchoObj.m_bEchoOff as boolean
によって出力しないかどうか。
ソース
→ vbslib.vbs
EchoOff オブジェクト
← ▼ ▲
DisableEchoOff
Sub DisableEchoOff()
EchoOff オブジェクトがあっても、echo 出力するようにします。
→ EchoOff オブジェクト
関連
Sub main()
DisableEchoOff
:
サンプル：
(src)
ファイル：
vbslib.vbs
← ▼ ▲
echo_v
Function echo_v( Message as string ) as string
文字列を出力します。 フィルタリングされません。
【引数】
Message
出力する内容の文字列（文字列以外は指定できません）
ファイル：
vbs_inc_sub.vbs
サンプル
If g_verbose Then echo_v "処理は１つも行われませんでした。"
g_verbose を使うときは、echo_v を使用してください。
EchoOff オブジェクト
の影響を受けません。（＝ フィルタリングされません）
エラーメッセージは、echo ではなく echo_v を使用してください。
テスト
→ T_Verbose.vbs # [T_Verbose]
関連
→ g_verbose
ソース
→ vbs_inc_sub.vbs
← ▼ ▲
echo_r
Function echo_r( Message as string, RedirectPath as string ) as string
標準出力かファイルに、文字列を出力します。
【引数】
Message
RedirectPath
出力する内容の文字列など（echo と同じ）
出力先のファイルパス、Empty のときは出力しない、""=標準出力へ
返り値
出力した内容の文字列
→ echo
関連
echo_r "エラー", ""
サンプル
ソース
→ vbslib.vbs
← ▼ ▲
Execute_Echo
(src)
Function Execute_Echo( ExpressionStr as string, Label as string ) as string
式とその計算結果を表示します。 デバッグ用です。
【引数】
ExpressionStr
Label
式（文字列）
表示内容の最初に表示するラベル
返り値
Execute に渡すコード
ファイル：
vbslib.vbs
書きかけ
→ ウォッチ (WS, WD, WX)
関連
サンプル
← ▼ ▲
GetEchoStr
Message を表示可能な文字列に変換します。
Function GetEchoStr( Message as variant ) as string
(src)
Message がオブジェクトの場合、
Message が Dictionary の場合、キーとアイテムの両方を文字列にします。
このとき、アイテムを再帰的に GetEchoStr に渡します。
Message が配列または ArrayClass の場合、すべての要素を文字列にします。
テスト
ファイル：
vbslib.vbs
サンプル：
s = GetEchoStr( object )
→ T_Value.vbs
xml_sub メソッド
の返り値を返します。
T_EchoStr
← ▼ ▲
g_CustomEchoStrGenerators
(src)
Dim g_CustomEchoStrGenerators as dictionary of Function
Function InitializeModule( ThisPath )
Set g_CustomEchoStrGenerators( "ClassA" ) = GetRef( "ClassA_xml_sub" )
End Function
Function ClassA_xml_sub( m as Object, Level as integer )
ClassA_xml_sub = GetTab(Level)+ "<"+TypeName(m)+" Name='"+ XmlAttrA( m.Name ) +_
"'/>"+ vbCRLF
End Function
表示可能な文字列に変換する関数の辞書。
サンプル
→ xml_sub メソッド (vbsool)
参考
GetEchoStr
の引数に指定したオブジェクトのクラスに、
関数の中で、g_CustomEchoStrGenerators に関数を登録してください。
xml_sub メソッド
を定義できないときは、
InitializeModule
登録する関数は、xml_sub メソッドと同じ形式の文字列を返すようにしてください。
← ▼ ▲
g_EchoCopyStream
Echo 出力のコピーを横取りするストリーム オブジェクト。
Dim g_EchoCopyStream as TextStream or Empty
TextStream
Echo 出力するときに、g_EchoCopyStream が Empty ではないときは、
その出力内容を WriteLine メソッドに渡します。
→ echo_v
次の Echo 出力のコピーは、横取りできます。
→ echo
次の Echo 出力のコピーは、横取りできません。
→ echo_r
→ WScript::Echo
→ WScript::StdOut, StdErr
テスト
→ T_Verbose.vbs
→ Test.vbs
T_EchoCopyStream
→ T_EchoCopyStream.vbs
← ▼ ▲
Pause
Sub Pause()
続行するには Enter キーを押してください . . .
コマンドプロンプトにメッセージを表示して、Enter キーを押すまで待ちます。
メッセージの内容：
vbslib.vbs (src)
サンプル：
echo "処理を開始します。"
If not ArgumentExist( "silent" ) Then Pause
デバッグするときは、Pause より MsgBox を使った方がよいでしょう。
Pause は、子プロセスがからむと、メッセージが表示されない可能性があるためです。
silent
"処理を開始します。"
Pause
ファイル：
vbslib.vbs
Pause
サンプル：
vbslib_mini.vbs (src)
← ▼ ▲
pause2
Sub pause2()
コマンドプロンプトを使う .vbs ファイルをダブルクリックしたときだけ pause します。
プログラムの最後で pause2 すると、コマンドプロンプトに出力した内容を確認できます。
ソース
→ vbslib.vbs
← ▼ ▲
PauseForDebug
Sub PauseForDebug()
呼び出し元がデバッグ モードのときに、実行を一時停止します。
ソース
→ vbslib.vbs
次のように表示されて一時停止します。
a と Enter : 今後は止めない
続行するには Enter キーを押してください . . .
a (Enter) が入力されると、それ以降の PauseForDebug では何もしません。
デバッグ モードの内容は、PauseForDebug を呼び出すモジュールによります。
← ▼ ▲
Input
Function Input( Prompt as string ) as String
プロンプトを表示し、ユーザからのキーボード入力を待ちます。
【引数】
Prompt
返り値
表示する内容
ユーザが入力した文字列、入力なし=""
→ vbslib.vbs#CUI
→ /GUI_input オプション
→ 自動入力 (set_input)
Dim key
key = Input( "キーワードを入力してください >" )
echo key
→ ユーザーインターフェース・構造体
テスト
→ [T_UI]
→ [T_ExecStdIn]
→ [T_ExecStdIn_300]
サンプル
254文字以上は入力できません。
コマンドプロンプトから入力した場合、128文字以上を入力したときに日本語文字が入って
いると、128文字目付近の文字が消えてしまうため、 InputBox を使って再入力を要求します。
コマンドプロンプトから入力した場合、128文字目が日本語文字の場合は、cscript.exe が、
例外を発生してしまいます。
長い文字を入力するときの注意
関連
Ctrl+C を押すと、プログラムは中断します。エラーにもなりません。
ファイル：
vbslib.vbs
echo
Input
key = Input( "〜します。[Y/N]" )
If key <> "y" and key <> "Y" Then _
Exit Sub ' ... Cancel
サンプル Yes と No の選択入力
→ InputPath : ファイルパスを入力する
→ InputCommand : メニュー選択や専用コマンド入力をするモード
→ vbslib_mini.vbs
→ vbslib.vbs
ソース
echo "1. コマンドAを起動する [CommandA]"
echo "2. コマンドBを起動する [CommandB]"
echo "9. 終了 [Exit]"
key = Trim( Input( "番号またはコマンド名>" ) )
Select Case key
Case "1": key = "CommandA"
Case "2": key = "CommandB"
End Select
If StrComp( key, "CommandA", 1 ) = 0 Then
:
ElseIf StrComp( key, "Exit", 1 ) = 0 Then
Exit Do
End If
サンプル メニュー
← ▼ ▲
input や pause 関数を使った場合、自動的にキー入力することもできます。
→ /set_input オプション、g_CUI.SetAutoKeysFromMainArg
→ set_input 関数
自動入力 (set_input)
→ ショートカットやバッチファイルなどから専用コマンドを実行するときのパラメーター
関連
← ▼ ▲
次のようにすると、input を呼び出したときに、自動的に [1][Enter][2][Enter] と入力します。
set_input
Sub set_input( Keys as string )
(src)
input
でユーザーが入力する内容を、指定した内容で自動的に入力するようにします。
g_CUI.m_Auto_KeyEnter = "."
set_input "1.2."
→ g_CUI.SetAutoKeysFromMainArg、/set_input オプション
子プロセスに set_input の内容を引き継ぐには、下記の手順をしてください。
関連
テスト
→ [T_UI_Auto] 自動入力のテスト
g_CUI.m_Auto_KeyEnter = "/"
set_input "1/2/"
Enter に対応する文字をピリオドから変更したいときは、次のようにします。
g_CUI.SetAutoKeysFromMainArg
オプションによる指定は無視されます。
を呼び出した後で、set_input を呼び出すと、/set_input
ファイル：
vbslib.vbs
/set_input オプション
と SetAutoKeysFromMainArg で、または、
InputCommand
を使う子プロセスに g_InputCommand_Args（の一部）を渡すことで、
子プロセスに入力内容を渡します。 サンプル
→ g_InputCommand_Args
← ▼ ▲
/set_input オプション、g_CUI.SetAutoKeysFromMainArg
cscript.exe を起動したときのパラメータに、/set_input オプションを指定すると、
input などでユーザーが入力する内容を、オプションに指定した内容で自動的に入力します。
g_CUI.SetAutoKeysFromMainArg
→ input
cscript.exe sample.vbs /set_input:1.2.
VBS のソースに必要な呼び出し
コマンドライン
(src)
→ set_input
ただし、main 関数の先頭などで g_CUI.SetAutoKeysFromMainArg を呼び出す必要があります。
→ [T_UI_Auto] 自動入力のテスト
関連
テスト
← ▼ ▲
/set_input_enter オプション
cscript.exe を起動したときのパラメータに、/set_input_enter オプションを指定すると、
/set_input に指定した文字のうち、/set_input_enter オプションで指定した文字は、Enter の
入力にします。
/set_input_enter オプションが指定されなかったときは、ピリオドが Enter の入力になります。
cscript.exe sample.vbs /set_input:1.2. /set_input_enter:.
コマンドライン
(src)
日本語文字を指定すると、すべてのAscii 文字が使えるようになります。
←
↓