WINDOWSにはWSH(Windows Script Host)と言うスクリプト(プログラム)を実行するためのソフトウェアが
標準で入っています。つまり、WINDOWSを購入すると最初からプログラミングが出来る環境が整っている
と言う事です。
VBS(VBScript/Visual Basic Script)とは、WSHで使用出来るプログラミング言語の一つで、
比較的簡単にプログラミングおよびコマンドライン実行が出来る言語です。
(ちなみに、WSHで使用出来るプログラミング言語にはJavaScriptというプログラミング言語もあります)
WINDOWSでコマンドラインと言えばバッチファイル(MS-DOSのコマンドプロンプト)を思い浮かべますが、
実はVBSの方がよりきめ細かなプログラミングが出来ます。また、VBSに似たプログラミング言語にPerl
がありますが、Active Perlのインストールが必要になります。
VBSのプログラムはメモ帳などのテキストエディタで作成する事が出来るので、
他の専用ソフトウェアが必要ありません。テキストエディタで作成したプログラムファイルに
VBSという拡張子を付けて保存すれば出来上がりです。
例えば以下のテキストをtest.vbsというファイルで保存し、
ダブルクリックすると"VBSを実行中!!"というメッセージボックスが表示されます。
'---------------------
MsgBox "VBSを実行中!!"
'---------------------
なぜ、VBSファイルをダブルクリックしただけで実行されたか?
それは[VBSという拡張子]に[WSH(C:\WINDOWS\System32\WScript.exe)]が関連付けられているからです。
ちなみにWScript.exeと似たプログラムとしてCScript.exeがあります。
WScript.exeはGUI(ウィンドウ)版でCScript.exeはCUI(コンソール)版ですが、
スクリプトを実行するという目的では全く同じものです。
WSH(VBS)を実行する際の注意事項
さて、簡単に使用できるWSHですが64bit(x64)版のWINDOWS(例えばWindows Vista(Windows 7)の64bit版)で
使用する時は注意が必要です。
64bit(x64)版のWINDOWSには64bit(x64)版のWSH(標準)と32bit(x86)版のWSHが入っています。
64bit(x64)版のWSHが標準になっているためVBSファイルをダブルクリックすると
64bit(x64)版のWSHが実行されます。
なぜ、[64bit(x64)版のWSHに注意が必要]かと言うと、
64bit(x64)版のWSHでは32bit(x86)版のDLLやOCXを使用出来ないからです。
例えば以下のVBSプログラムを64bit(x64)版のWSHで実行するとCreateObjectでエラーになります。
'-----------------------------------------------
Set obj=CreateObject("NonDiffVb6.NonDiffClassV")
Set obj=CreateObject("NonCodeVb6.NonCodeClassV")
Set obj=CreateObject("NonComSck.Winsock")
Set obj=CreateObject("NonComSck.MSComm")
Set obj=CreateObject("Basp21")
'-----------------------------------------------
(NonDiffVb6.dllやNonCodeVb6.dllやNonComSck.ocxはVB6で作られた32bit(x86)版のDLLやOCXです)
32bit(x86)版のDLLやOCXを使用するVBSを実行する場合は32bit(x86)版のWSHを使用する必要があります。
32bit(x86)版のWSHは次のPATH(例:Windows Vista(Windows 7)の場合)に存在します。
C:\Windows\SysWow64\wscript.exe
C:\Windows\SysWow64\cscript.exe
WSHで使用出来る主な機能(ライブラリ/オブジェクト)
★WSHの基本機能 |
WScript | 標準入出力、コマンドライン引数 |
WshController | ネットワーク経由でのスクリプト実行 |
WMI | システム情報操作(ソフトウェア/ハードウェア/ネットワークなど) |
|
★ファイル/フォルダ操作機能 |
FileSystemObject | コピー、移動、削除。サイズや更新日時の取得 |
ADODB.Stream | ファイル入力/出力(バイナリ/文字コード[テキスト]) |
ADODB.Connection | データベース接続(SQL ServerやAccessファイルなど) |
|
★ネットワーク操作機能 |
WshNetwork | 共有フォルダや共有プリンタなど |
Shell.Application | エクスプローラ操作 |
InternetExplorer.Application | IE操作 |
XMLHTTP:インターネット | WEB操作 |
|
★プログラム操作機能 |
WshShell | プログラムの起動や終了、キーボード操作、レジストリ操作 |
|
★その他の機能 |
ADSI | Active Directory操作 |
CDO.Message | メール送信 |
WSH(VBS)を使用したサンプルプログラム
VBSでファイルの差分を出力する方法 VBSでフォルダの差分を出力する方法
VBSでファイルの変更を監視する方法 VBSでフォルダの変更を監視する方法
VBSでファイル一覧を出力する方法 VBSやVBAで文字コードを変換する方法
VBSやVBAでメールを送信/受信する方法 VBSでエクセルを起動し操作する方法
VBSやVBAでファイルをFTP転送する方法 VBSで通信(RS232C TCPIP UDPIP)する方法
|