(for Internet Explorer)
(src)
参考
Sub  SendKeys( WindowTitle as string, KeyCords as string, LateTime as integer )
キーボード入力をエミュレーションして自動的にキー操作をします。
【引数】
WindowTitle
KeyCords
"" または、キーボード・コードを送るウィンドウのタイトル(下記)
キーボード・コード (下記)
LateTime
0 または、キーボード・コードを送るまでの時間(ミリ秒)
WindowTitle 引数に指定した文字列が、ウィンドウのタイトルに、前方一致、または、
後方一致したウィンドウに対して、キー操作をします。
  SendKeys  "メモ帳", "%FS", 200
サンプル:
WindowTitle 引数
KeyCords 引数
制御キーの入力は、次のように指定します。
[Alt]+[F], [S]
"%FS"
[Ctrl]+[C]
"^C"
[Enter]
"{ENTER}"
キー入力
KeyCords 引数
[Esc]
"{ESC}"
"{TAB}"
[Tab]
Alt キーを押しながら F、離して S
説明
シフトキーを押しながら連続して、X、P
"+XP"
シフトキーを押しながら、X、離して、P
[Shift]+[X], [P]
[Shift]+[X], [Shift]+[P]
"+(XP)"
[+]
"{+}"
その他のキー
[{]
"{{}"
[[]
"{[}"
ファイル:
vbslib.vbs
テスト
→ T_UI1_Manual.vbs # SendKeys
LateTime 引数
キーコードを送る前に待つ時間を指定します。
直前の処理がウィンドウを開く処理など、キーコードを送る対象が準備できるまでに
時間がかかるときに指定してください。
Alt キー + [F] + [S] …… 保存
  Play  "sample.mp3"
Sub  Play( Path as string )
音楽ファイルや効果音ファイルを鳴らします。
【引数】
Path
.wav, .mp3 などのファイルパス
(src)
動画ファイルを指定すると、音声だけが流れます。
  Play  env( "%windir%\Media\tada.wav" )
鳴らし始めると、すぐに Play 関数から戻り、音声が流れながらスクリプトの続きを実行します。
を使えば、音声が終わるまで待つことができます。
スクリプトを終了すると、音声は止まります。
サンプル
ファイル:
vbslib.vbs
テスト
関連
→ T_Sound.vbs # [T_Sound]
  Play  "sample.mp3"
  WaitForSound  Empty
Sub  WaitForSound( Timeout_msec as integer )
で再生した音声が終わるまで待ちます。
【引数】
Timeout_msec
タイムアウト(ミリ秒)、または Empty (タイムアウトなし)
(src)
タイムアウトになったら、音声は停止します。
音声が終わるまで待つ
5秒たっても音声が終わらなかったら止める
  Play  "sample.mp3"
  WaitForSound  5000
  Play  "sample.mp3"
  WaitForSound  0
すぐに音声を止める
サンプル
サンプル
サンプル
Empty
5000
0
vbslib.vbs
ファイル:
テスト
→ T_Sound.vbs # [T_Sound]
関連
Sub  SetVolume( Volume as integer )
音量を設定します。 0 が最小、100 が最大。
【引数】
Volume
音量。デフォルトは 100
(src)
  SetVolume  100
関連
サンプル
vbslib.vbs
ファイル:
テスト
→ T_Sound.vbs # [T_Sound]
  SystemSound  ".Default"
Sub  SystemSound( Sound as string )
コントロールパネルに設定されている効果音を鳴らします。
【引数】
Sound
効果音の種類(下記)
(src)
"SystemAsterisk"
メッセージ(情報)
".Default"
一般の警告音
メッセージ(警告)
"SystemExclamation"
システムエラー
"SystemHand"
メッセージ(問い合わせ)
"SystemQuestion"
Windowsの起動
"SystemStart"
Windowsの終了
"SystemExit"
Windowsログオン
"WindowsLogon"
"WindowsLogoff"
Windowsログオフ
"DeviceConnect"
デバイスの接続
"DeviceDisconnect"
デバイスの切断
"Navigating"
ナビゲーションの開始
(フォルダやハイパーリンクをクリックしたときの音)
音声の止め方や音量の調整は、
と同じです。
しなくても、すぐに音声は停止しません。
スクリプトを終了時に鳴らしても、数秒の効果音であれば、
サンプル
関連
テスト
→ T_Sound.vbs # [T_Sound]
Function  GetTextFromClipboard() as string
クリップボードにあるテキストを返します。
→ T_Clipboard_Manually.vbs # [T_GetTextFromClipboard]
テスト
(src)
クリップボードにテキストが無ければ、E_BadType エラーになります。
ファイル:
vbslib.vbs
使用するには、vbslib フォルダーに、
が必要です。
Function  GetPathOfClipboardText() as string
クリップボードにあるテキストをファイルにして、そのパスを返します。
→ T_Clipboard_Manually.vbs # [T_GetTextFromClipboard]
テスト
(src)
クリップボードにテキストが無ければ、E_BadType エラーになります。
ファイル:
vbslib.vbs
使用するには、vbslib フォルダーに、
が必要です。
サンプル
  Set g = g_VBS_Lib
  echo  "Enter のみ:クリップボードの内容を入力とします。"
  path = InputPath( "path>", g.CheckFileExists or g.CheckFolderExists or _
    g.UseArgument1 or g.AllowEnterOnly )
  is_clipboard = False
  If path = "" Then  path = GetPathOfClipboardText() : is_clipboard = True

  If is_clipboard Then  del  path
クリップボードの内容が入ったファイルが不要になったら削除してください。
Sub  SetTextToClipboard( Text as string )
クリップボードにテキストをコピーします。
(src)
→ T_Clipboard_Manually.vbs # [T_GetTextFromClipboard]
テスト
ファイル:
vbslib.vbs
使用するには、vbslib フォルダーに、
が必要です。
辞書に入っているデータをクイックソートします。
配列をクイックソートします。安定ソートではありません。
辞書に入っているデータをシェーカーソートします。
配列をシェーカーソートします。安定ソートです。
文字列を数値に変換します。
配列を扱いやすくするクラスです。
標準の Dictionary の Item を、配列にしたクラスです。
GUID を生成します。
ワイルドカードにマッチするかどうか判定します。
[ テスト ]
その他
関連
文字列を TextStream と同じようにアクセスします。
静的オブジェクトを取得します。
スクリプトファイルから静的オブジェクトを取得します。
スクリプトファイルから静的オブジェクトを一覧します。
静的オブジェクト・スクリプトファイルをインクルードします。
文字列で指定した名前のクラスのオブジェクトを生成します。
配列のすべての要素が等しいか判定します。
Dictionary を配列に変換します。
配列の要素を追加コピーします。
オブジェクトを生成して、辞書に追加します。
登録されていないときも、新規に登録しない辞書参照。
Empty でもオブジェクトでも取得できる辞書参照。
辞書を生成します。
辞書の要素を設定します。
辞書を加算します。
辞書を減算します。
コマンドラインの1項目を取り出し、通常の文字列に戻す。
配列を、NameOnlyClass の配列に変換します。
CSV 形式の1行を解析して、配列に格納する。
CSV 形式の1行を解析して、数値の配列に格納する。
定数
構造化された定数
vbslib で定義されている定数は、g_VBS_Lib オブジェクトのプロパティになっています。
これは、なるべくグローバル・スコープにおいてシンボルが重複しないようにするためです。
定数は、次のように、ローカル変数 c を使ってください。
Sub  FuncA()
  Dim  c : Set c = g_VBS_Lib
  If StrCompLastOf( "ABC", "BC", c.CaseSensitive ) = 0 Then ...
End Sub
g_VBS_Lib
CaseSensitive
定数の内容については、左のツリーからサブ・ツリーを参照してください。
(src)
参考
Dim  g_VBS_Lib:CaseSensitive as integer
2つの英文字の文字列比較において、大文字・小文字を区別すること
CaseSensitive が指定できる引数に、CaseSensitive を指定しなかったときは、
大文字と小文字を同じ文字であるとして、文字列比較を行います。
参考
サンプル:
Dim  c : Set c = g_VBS_Lib
If StrComp( "ABC", "abc", StrCompOption( c.CaseSensitive ) ) = 0 Then ...
If StrCompLastOf( "ABC", "BC", c.CaseSensitive ) = 0 Then ...
Dim  g_VBS_Lib:WholeWord as integer
文字列の検索において、単語全体がマッチするものだけヒットさせます。
(単語単位検索、完全一致)
参考
Dim  g_VBS_Lib:LastNextPos as integer
検索した結果を、ヒットした位置の次の位置にします。
参考
ABCDE の中で C を検索したら、D の位置を検索した結果にします。
ABCDE の中で BCD を検索したら、E の位置を検索した結果にします。
Dim  a : Set a = new ArrayClass
a.Add  1
echo  a(0)
echo  "count = " & a.Count
VBScript 標準の配列 (プロパティ)
要素をすべて削除する
要素を最後に追加する
要素を最後に追加する
最後の要素を返し、配列から要素を削除する
要素数を返す
サンプル
メンバー
すべての要素を表示する
Dim  item
For Each item  In a.Items
  echo  item
Next
基本的な使い方:
For 文で使う:
配列を扱いやすくするクラスです。
要素は、オブジェクトでもそれ以外でも格納できます。
配列番号以外でも要素にアクセスできます。
(src)
a が ArrayClass オブジェクト
.Copy
すべての要素をコピーする
配列のすべての要素を文字列にする
配列の要素。 配列番号。 (デフォルト・プロパティ)
関連
→ T_Arr.vbs # [T_ArrClass]
テスト
While 文で使う:
Dim  a : Set a = new ArrayClass
Dim  iter : Set iter = a.NewIterator()
While iter.HasNext()
  echo  iter.GetNext()
WEnd
a が ArrayClass オブジェクト
iter は、ArrayClassIterator オブジェクト
→ ArraySpeed.vbs
性能比較
Dim arr : Set arr = new ArrayClass : arr.AddElems  Array( 1, 2, 3 )
関連
Default Property  ArrayClass::Item( i as integer )
配列番号を使って、配列の要素を参照します。 (デフォルト・プロパティ)
【引数】
i
配列の要素の番号。 先頭は 0
Dim  a : Set a = new ArrayClass
a.Add  1
echo  a(0) '// a.Item(0) と同じ
サンプル:
a(0)
オブジェクトを Set するときは、次のように記述してください。
Set  a(0) = new ClassA
関連
ItemFunc プロパティに関数を登録すると、引数 i に文字列などを指定できるようになります。
(src)
Dim  ArrayClass::Items  as array of variant
ArrayClass クラスがラップしている配列です。
要素は、オブジェクトでもそれ以外でも格納できます。
(src)
Dim  arr : Set arr = new ArrayClass
Dim  item
For Each item  In arr.Items
  echo  item
Next
For 文で使う:
ソート関数に渡すときは、Items ではなく、ArrayClass オブジェクトを渡してください。
Dim  arr : Set arr = new ArrayClass
  :
ShakerSort
ShakerSort  arr, 1, arr.UBound_, GetRef("CmpFunc1"), Empty
arr
arr
Items
(src)
Items と同じです。
廃止される予定です。
Sub  ArrayClass::ReDim_( UBound as integer )
配列の要素数を変更します。 ReDim Preserve と同じです。
【引数】
UBound
新しい配列の最大要素番号
(src)
ReDim の末尾にアンダースコアが付いています。
(ReDim は予約語であるため。)
Sub  ArrayClass::Add( Elem as variant )
配列の最後に要素を追加します。
【引数】
Elem
配列に追加する要素(オブジェクト、またはそれ以外)
ArrayClass::Push と同じです。
Elem に配列を指定すると、ArrayClass の中の1つの要素の中に Elem 配列を追加します。
ArrayClass の中に複数の要素を追加するときは、AddElem を使ってください。
→ AddElems (ArrayClass)
関連
Dim  a
Set a = New ArrayClass
a.Add  1
a.AddElems  Array( 2, 3 )
'// a は、{ 1, 2, 3 }
AddElems
(src)
関連
  Set objects = new ArrayClass
  Set o = objects.AddNewObject( "ClassA", "ObjectA" )

Class ClassA
  Public  Name
End Class

Function  new_ClassA()
      Set new_ClassA = new ClassA
End Function
すでに同じ名前のオブジェクトが配列にあっても、オブジェクトを生成します。
関連
テスト
→ [T_AddNewObj]
内部で
を使っているので、new_ClassA 関数の定義が必要です。
ClassName に指定したクラスに、Name プロパティ、またはメンバー変数が必要です。
Dim  a : Set a = new ArrayClass
a.AddCSV  "12, 34", vbInteger