(for Internet Explorer)
ようになります。 また、スクリプト・ファイルへのオプション付きショートカットを作成するだけで、
エラーが発生した場所を
vbslib5
vbslib のプログラミング言語 VBScript の説明です
VBScript (WSH) 言語を、バッチファイルのように簡単に使えるようにするスクリプト・プログラミング・
ライブラリーです。 vbslib を使ったスクリプトは、インストールしなくても、
vbslib のマニュアル(本書)です
2014/10/13
ライセンス
'// vbslib - Short Hand Library  ver*.**  ***.**, ****
'// vbslib is provided under 3-clause BSD license.
'// Copyright (C) 2007-20** Sofrware Design Gallery "Sage Plaisir 21" All Rights Reserved.
参考
無料でお使いいただけますが、無保証です。
再頒布や加工も vbs ファイルに書かれた下記を削除しなければ自由にできます。
vbslib を参考にして作成したスクリプトやライブラリの著作権は、あなたにあります。
サポート先
インストール
→ エディター等の変更
初めて使ってみるときは、
vbslib Prompt.vbs
をダブルクリックしてください。
画面で見るマニュアル
ダウンロード
for Windows 7 / 8 (32bit/64bit)
Sub  Main( Opt, AppKey )
  echo "Hello, world!"
End Sub
サンプル
解説
テキスト・エディターで編集
ダブルクリックで実行
sample.vbs
- shorthand library for vbscript -
4.91 interim version
で使える
で確認できるように VBScript を拡張しており、定型作業の
自動化やテスト駆動開発(TDD)が快適に行えるようになります。
バッチファイル
コマンドラインやバッチファイルの説明です。
Snap Note を使えば _src\vbslib.svg を開くことができ、
本文中の (src) が、ソースへのハイパーリンクになります。
vbslib からエディターなどのツールを起動することがありますが、どのツールを使うのか
を、選択することができます。
Sub  Main( Opt, AppKey )
  echo "Hello, world!"
End Sub

'--- start of vbslib include ------------------------------
  :   (vbslib をインクルードして main を呼び出すコード)
新規に vbslib を使ったスクリプトを作成するときは、sample.vbs (メイン)と、scriptlib フォルダ
を、作業を行う任意のフォルダにコピーしてください。 (この作業は、
        の 3 を選んでもできます。) そして、コピーした sample.vbs をテキストエディタ
で編集するか、右クリック [ 編集 ] してください。 実行するときは、sample.vbs をダブル
クリックしてください。
sample.vbs
メイン.vbs は、scriptlib フォルダが入っているフォルダ(上記の場合はScriptA フォルダ)
のサブフォルダーに置くこともできます。 逆に言えば、scriptlib フォルダを、親フォルダに
移動することができます。 よって、ScriptA フォルダの中ならどこでも、scriptlib フォルダ
にある vbs ファイルの機能を使うことができます。
メイン.vbs のファイル名を変えることはできますが、scriptlib フォルダの名前を変えること
はできません。(すべての vbs ファイルの g_vbslib_path 変数を変えない限り。)
sample.vbs (メイン)
簡易 vbslib リンク 機能
vbslib include
vbslib include は、vbslib などのライブラリを使えるようにします。
vbslib を使うと、ファイル操作やプログラムの起動などを行う、スクリプトの作成(プログラ
ミング)が簡単になり、いろいろなことが自動化できます。

そして、作成したスクリプトを、
起動が素早くできるようになります。
複雑な処理を自動化
.vbs スクリプト
PC
コピー/解凍するだけで、
(任意の作業フォルダ)
vbslib のメインフォルダ
コピー
scriptlib
とりあえず使ってみるときは、左のツリーにある「ユーザインターフェース」、「ファイル
操作」、「プロセス制御」の章を参照して、sample.vbs を修正してみてください。
vbslib の zip ファイルを展開したフォルダーを削除してください。
上記で説明している scriptlib フォルダーをコピーしていたら、それも削除してください。
ベースとなる VBScript(WSH) は、Windows 2000 から、プリインストールされています。
デバッガは、Visual Studio 2003 以降の Standard 以上または、フルインストールの MS-Office
があれば使えます。vbslib のソースは、構造化エディタに対応しています。
.vbs ファイルをダブルクリックしてから実行開始まで時間がかかるときは、ウィルス対策ソフトの
スクリプトに関するチェックをしないようにしてください。 チェックをしなくても、Windows のセキュ
リティ機能によって、ユーザーの許可無く悪意のあるスクリプトが実行されることはありません。
(src)
vbslib は、テスト駆動開発(TDD)も強力にサポートします。 単純な自動テスト・スクリ
プトを作ってから、そのテストが動くためのプログラムを開発するスタイルは、開発の
ゴールが明確になり、迷走することが無くなります。
PCを借りているときは情報漏えいに注意してください。
→ エディター等の変更
テスト駆動開発(TDD)を行うには、「テスト・プロンプト (Test.vbs)」の章を参照してください。

上記の、scriptlib フォルダがどのように作られているかの詳細について知りたいときは、
「vbs_inc」 と 「setting フォルダ」 の章を参照してください。(中級者以上)

思い通りに動かなかったときは、「デバッグ」 、「困ったときは?」 の章を参照してください。
コマンド名は、MS-DOSバッチファイルや Linux シェル標準に準拠しています。
左のツリーを開いてください。いろいろな関数が用意されています。これらの関数や
あなたのオリジナルの関数を使ったスクリプトが、インストーラを実行することなく、
コピーするだけで使えるようになります。
MS オフィスなどのアプリケーションの操作は、WSH の ActiveX 機能を使ってください。
作成したスクリプトを
にすると使いやすくなります。
ログファイルへの出力したいときは、コマンドプロンプトから下記のように入力してください。
cscript sample.vbs | safetee -o log.txt
safetee はネットから入手してください
の形式にすれば、スクリプトの
PCを借りているときは情報漏えいに注意してください。
・ファイルのコピー、移動、削除、開くことの自動化
・テキスト・ファイル(HTML, XML, CSV, プログラミング言語など)の編集の自動化
・数値の計算、データの集計の自動化
・コンパイル、テスト駆動開発(TDD)、問題の検索や通知の自動化
・バイナリ・ファイルの読み書きの自動化
・MSオフィスなど ActiveX アプリケーションのファイルの編集を含む処理の自動化
スクリプトで自動化できること
インストール
vbslib を内部で使うスクリプトを始めて使う PC でも、vbslib をインストールするプログラム
を実行したり、パスを通す設定をしたりする必要はありません。
スクリプト・ファイルと一緒に scriptlib フォルダーをコピーまたは、それらを含むフォルダー
をコピーしたり、圧縮ファイルを解凍するだけで、ダブルクリックしてスクリプトを起動できます。
(メイン)
sample.vbs
デバッガーのインストールについては、
vbslib や、vbslib を使うスクリプトのインストールは、ダウンロードした圧縮ファイルを解凍
するだけです。
参考
作成したスクリプトのデバッグをするときは、
scriptlib フォルダーは、メイン・スクリプト・ファイルがあるフォルダーか、その親フォルダー
に格納してください。 そこに、vbslib や様々なスクリプト関係のファイルが格納されています。
開発方針
・ユーザーの体験が、シンプル&ビジュアルであること
・検索可能なサンプルからコピーして、見よう見真似で、すぐに試せること
・結果が同じであれば、エラーにしないこと(宣言型プログラミング)。
  例:ファイルが無いパスを指定して削除したとき
・結果がユーザーの想定外になるときは、仕様の通りであっても失敗したと伝えること
・対処法は、概念を介して説明するのではなく、サンプルを使ってダイレクトに示すこと
・エラーが発生して復帰するまでは、次のエラーが発生しても、最初のエラーを表示すること
・ユーザーから見ると意味が異なる、ボトムアップから定義された用語は使わないこと
・略語は標準化されたもののみ。 データ(名詞)か処理(動詞)の区別を明示すること。
・同じ機能が既存の技術にあれば、操作方法(コマンド名など)をそれに合わせること
ショートハンド・プロンプト(CUI)から、コマンドを入力すると、特別に用意されたスクリプトを素早く
起動することができます。 ドキュメントにコマンド名を書くと便利になります。
家計簿プロンプト
1. 今月の家計簿ファイルを開く [op]
2. バックアップする [bk]
3. 家計簿フォルダーを開く [fo]
番号またはコマンド >op
op
家計簿.vbs
↓ ダブルクリックすると開く
← 番号またはコマンドを入力する
… ショートハンド・プロンプトを、新規作成する
… ショートハンド・プロンプトを起動する関数
… バッチ・ファイル等から起動する
参考
vbslib は、すぐに使えるちょっとしたアプリケーションを提供しています。
1つは、スタート・メニューから選ぶように、vbslib Prompt.vbs ファイル(ショートハンド・
プロンプト形式)をダブルクリックして起動する形式のアプリケーション。
もう1つは、特定のフォルダーに .vbs ファイルをコピーして、そのフォルダーに対する処理を
するスクリプト・ファイル形式のアプリケーションです。 スクリプト・ファイル形式のアプリ
ケーションを、ショートハンド・プロンプトにまとめることも簡単にできます。
vbslib Prompt
 1. ヘルプ(SVG形式)の表示 (Google Chrome や Snap Note で見えます)
 2. ヘルプ(Internet Explorer - VML形式)の表示
 3. ■ vbs ファイルを新規作成する [MakeNewScript]
 4. ショートハンド・プロンプトを新規作成する [MakeNewPrompt]
 5. タブ文字と空白文字を変更する [SpaceToTab]
 6. Test テンプレート・フォルダーを開く [test]
 7. 最新の vbslib に変換する [ConvertToNewVbsLib]
 8. このプロンプトのソースを開く
 9. vbslib フォルダーを開く
番号またはコマンド >
vbslib Prompt.vbs ファイルをダブルクリックすると、スクリプトの開発を支援する
スクリプトを起動することができます。 下記のようにメニューが表示されるので、番号を入力
してください。  また、メニューに表示されていないコマンドを入力することもできます。
vbslib - Short Hand Library
 1. ヘルプ(SVG形式)の表示 (Google Chrome や Snap Note で見えます)
 2. ヘルプ(Internet Explorer-VML形式)の表示
 3. ■ vbs ファイルを新規作成する [MakeVbsLibSample]
 4. scriptlib フォルダーを作成する [MakeVbsLibFolder]
 5. ショートハンド・プロンプトを新規作成する [MakeNewPrompt]
 6. Test テンプレート・フォルダーを開く
 8. このプロンプトのソースを開く
 9. vbslib フォルダーを開く
番号またはコマンド >3
左のツリーを展開すると、使えるコマンドの詳細を見ることができます。
vbslib Prompt.vbs
↓ ダブルクリックすると開く
初めて使ってみるときは、3 を選んで、簡単なスクリプトを動かしてみましょう。
Option Explicit

Sub  main2( Opt, AppKey )
  echo "Hello, world!"
End Sub
sample.vbs
 3. ■ vbs ファイルを新規作成する [MakeVbsLibSample]
3
「3. vbs ファイルを新規作成する」を選ぶと、下記ような内容のファイルができます。
解説
コマンド名は、大文字と小文字を区別しません。 つまり、コマンド名の大文字の文字が小文字に
なっていたとしても起動できます。

コマンドの速記形を追加したり、独自のコマンドを追加したり、処理内容をカスタマイズしたりする
ことができます。
例:
参考
入力できる専用コマンドは、多くの場合、アプリケーションのマニュアルに書かれています。
自分がしたいことをマニュアルの目次から見つけたら、その本文から専用コマンドを探してください。
 
画面で見るマニュアルを見ているのなら、専用コマンドをコピー&ペーストできます。 ただし、
ペーストするときは、右クリックして [ 貼り付け ] をクリックしてください。
よく使うコマンドは、Snap Note のノート・バーなどに一時的に貼り付けておくと便利に使えます。
テンポラリ・フォルダーを開く
画面で見るマニュアル
vbslib を使ったスクリプトを実行すると、その実行のために内部的に必要になる
ファイルが、テンポラリ・フォルダーに作られることがあります。
Prompt.vbs
-------------------------------------------------------------------------------
Short Hand Prompt
1. RunProgram
2. InvestigateLog
他. Document.svg を参照 (Google Chrome や Snap Note で見えます)
番号またはコマンド >2
-------------------------------------------------------------------------------
ログ・ファイルのパス >C:\Log\Test_log.txt
Test_log_summary.html を出力しました。
C:\Log\Test_log.txt
2
パスは、ファイルをプロンプトにドラッグ&ドロップすることでも入力できます。
上記の黄色い部分が、ユーザーが入力する部分です。

コマンド名は、大文字と小文字を区別しません。 つまり、コマンド名の大文字の文字が小文字に
なっていたとしても起動できます。

コマンドを入力した後、パラメーターやファイルへのパスの入力を求められることがあります。
使い勝手の悪い専門的なプログラムは、それを支援するスクリプトを vbslib などで作成して、
アプリケーション・プロンプトの形にして、画面で見るマニュアル を用意することで、使いやすく
なります。

画面で見るマニュアルから、専用コマンドをコピー&ペーストしたり、ショートカットを作成する
ことで、次々と魔術(スクリプト)を繰り出す速記原典(ショートハンド)のように、次々と処理を
起動させることができるようになります。

使いやすさは、CUI や GUI に関わらず、電子マニュアルの構成によって、大きく左右されます。
検索可能なユースケース・ベースのハイパーテキストでできたマニュアルを、Snap Note などで
作成するとよいでしょう。
一般のコマンドプロンプトや、バッチファイルなどから、専用コマンドを実行することもできます。
ただし、cmd.exe を使わないで、cscript.exe を使ってください。 64ビットWindows にも対応する
には、下記のように cscript 環境変数の値が変わるようにして、cscript 環境変数を使って
.vbs ファイルを起動してください。
できれば、VBScript を使って、Prompt.vbs の内容を参考にして、関数を直接呼び出すように
してください。
/ から始まるオプションは、全てのパラメーターの後に指定してください。 これは、/ から始まる
Linux のパスもパラメーターに指定できるようにするためです。
ショートハンド・プロンプトが開くアプリケーション(*.exe, *.vbs など) を、マウスの右ボタンで
ドラッグ&ドロップして [ ショートカットをここに作成 ] を選ぶと、ダブルクリックするだけで
すぐに専用コマンドを起動できるようにできます。
マウスの右ボタンでドラッグ&ドロップして [ ショートカットをここに作成 ]
Prompt - ショートカット
ショートカットを右クリックして [ プロパティ ] で、リンク先を修正。
cmd.exe /K (%cscript% //nologo "C:\Fo\Prompt.vbs" CommandA "C:\Log\file.txt")
リンク先:
↑専用コマンド名
↑パラメーター
こうしてできたショートカット・ファイルをダブルクリックすると、専用コマンドがすぐに実行されます。
@echo off
if     "%ProgramFiles(x86)%" == ""  set cscript=cscript
if not "%ProgramFiles(x86)%" == ""  set cscript=%windir%\SysWOW64\cscript.exe

%cscript% //nologo Prompt.vbs CommandA "C:\Log\file.txt" /option:1
pause
テンポラリ・フォルダー
Prompt.vbs
↓ ダブルクリックすると開く
パラメーターを並べていくことで、複数の項目の入力にも対応できます。
"" を指定すると Enter のみの入力もできます。 ただし、「リンク先」の先頭に cmd.exe が必要です。
cmd.exe があると、専用コマンドが終了してもウィンドウが閉じなくなり、結果を確認できます。
エラーが発生したときに g_debug = 1 を設定するように表示されたら、/g_debug:1 を追加すると、
デバッガーに接続して、エラーが発生した場所を確認することができます。
cscript.exe Prompt.vbs CommandA "C:\Log\file.txt" /g_debug:1
→ デバッグ, g_debug
参考
/g_debug:1
CommandA "C:\Log\file.txt"
"C:\Fo\Prompt.vbs"
cmd.exe /K (%cscript% //nologo
↑ cmd.exe /K が必要な場合もある
ファイルの関連付けに設定すれば、ファイルをダブルクリックして実行することもできます。
参考
カスタマイズするには、InputCommand 関数に指定するパラメーターを編集してください。
%cscript% //nologo
CommandA "C:\Log\file.txt"
特別なスクリプトを起動するために、キーボードからコマンドを入力できる状態であることを示す
記号、またはそのウィンドウを、「ショートハンド・プロンプト」と呼びます。
スクリプトファイル (Prompt.vbs) をテキスト・エディターで編集すれば、よく使うコマンドをメニュー
項目に追加したり、よく使うコマンドの名前を短くすることができます。
マニュアルを作成するときは、ユーザーがしたいこと(ユースケース)ごとの章と、コマンドごとの
章(索引)の両方を用意するとよいでしょう。
sample.bat
Prompt.vbs の CommandA 関数を呼び出します。 CommandA 関数の中で、input 系の
呼び出しが1つのときは、パラメーターは "C:\Log\file.txt"、残りの /option:1 はオプション。
%cscript% については、
一般のコマンドプロンプトや、バッチファイルなどから、専用コマンドを実行するときは、
特定の目的を達成するために作成した多くのスクリプトを、1つのスクリプト・ファイルにまとめた
ものが、ショートハンド・プロンプトのスクリプト・ファイルです。
vbslib が提供するスクリプト・データ・ファイルに対応したアプリケーションは下記のものが
あります。
例:
スクリプト・データ・ファイルは、アプリケーションと関連付けられたデータ・ファイルの
ように扱えるスクリプト・ファイルです。 スクリプト・データ・ファイルをテキスト・エディターで
開けば、設定を編集することができ、ダブルクリックすれば、その設定に従ってスクリプトが
起動します。
スクリプト・データ・ファイルをコピーしたときに、もし起動できなかったときは、アプリケー
ションの本体が入った scriptlib フォルダーが親フォルダー(または、その親フォルダー、…)
に存在しない可能性があります。 そのときは、scriptlib フォルダーもコピーしてください。
'---------------------------------------------[FileInScript.xml]
'<Sample_App>
'<Setting value="WORK"/>
'</Sample_App>
'--------------------------------------------[/FileInScript.xml]

Sub  Main( Opt, AppKey )
    Sample_App  AppKey, new_FilePathForFileInScript( Empty )
End Sub

'--- start of vbslib include ------------------------------
  :   (vbslib をインクルードして main を呼び出すコード)
スクリプト・データ・ファイルの内容は、おおよそ、下記のようになっています。
----------------------------------------------------------------------
Short Hand Prompt
1. RunProgram
2. InvestigateLog
番号またはコマンド >2
↓ ダブルクリックすると開く
… アプリケーションのデータ 兼 起動アイコン
… 中にアプリケーションの本体がある scriptlib フォルダー
Sample_App
データ部分
関連付け部分
データ部分は、
など、アプリケーションによって
関連付け部分は、アプリケーションと関連づけの設定があります。 下記の場合 Sample_App
関数がアプリケーションです。 関数の引数は変えないでください。
形式が異なります。 どの形式であるかは、データ部分の最初と最後の行の行末にある
[  ] で囲まれた部分を参考に判断できます。 下記の場合、[FileInScript.xml] なので、
ただし、どの形式でも、行頭に ' が必要です。(VBScript の言語仕様のため)
XML 形式です。
データ部分の最初と最後の行は、変更しないでください。
バイナリーデータを base64 方式のテキストに変換します。 または、その逆変換をします。
番号またはコマンド >base64
---------------------------------------------------------------------------
1) Base64形式に変換する [Encode]
2) バイナリー・ファイルに戻す [Decode]
番号またはコマンド名>2
入力ファイル(テキスト形式)のパス>C:\input.txt
出力ファイルのパス(上書きします)>C:\output.jpg
出力しました。
base64
→ Base64
参考
関連
bash シェル・スクリプト・ファイルの " ", ' ', ` ` の対応関係が複数行にまたがっている場所を探します。
番号またはコマンド >BashSyntax
シェル・スクリプト・ファイルのパス >sample.sh
<WARNING msg="複数行にまたがっています" line="7">"</WARNING>
<WARNING msg="複数行にまたがっています" line="8">"</WARNING>
BashSyntax
sample.sh
ソース
→ vbslib Prompt.vbs
参考
英語以外の文字がファイルに入っていないことをチェックします。
番号またはコマンド >CheckEnglishOnly
テキスト・ファイルの中に、英文字以外の文字が含まれるファイルを一覧します。
サブフォルダーも含めてチェックします。

Enter のみ:C:\vbslib\Samples\Translate\SettingForCheckEnglish.ini
設定ファイルのパス>

調べるフォルダのパス>C:\ProjA\src

<FILE path="TestData\KanjiInUnicode.txt">
  <LINE num="2" text="漢字"/>
  <LINE num="4" text="です。"/>
  <SUMMARY count="2"/>
</FILE>

<FILE path="TestData\SJisInAscii.txt">
  <LINE num="2" text="シフトJIS"/>
  <LINE num="4" text="です。"/>
  <SUMMARY count="2"/>
</FILE>
CheckEnglishOnly
C:\ProjA\src
ソース
テスト
→ vbslib Prompt.vbs
→ T_CheckEnglishOnly.vbs
T_CheckEnglishOnly_sth