連載
» 2006年06月02日 00時00分 公開

基礎解説 演習方式で身につけるチェック式WSH超入門:第1回 WSHを始めよう (2/3)

[牟田口大介(Microsoft MVP - Visual Developer - Scripting),著]

オブジェクト(道具)を使うといろんなことができる

 さて、ここで話をWSHに戻して、WSHでは何ができるの? ということをざっと概観してみよう。

 先ほど少し述べたが、VBScriptはさまざまなオブジェクト(正式にはCOMオブジェクトという)を使うことで多彩な機能を実現している。「オブジェクト」というと構えてしまう人がいるかもしれないが、ここでは単に「便利な機能を実現するための道具」くらいに思っていただければよい。VBScriptから使えるオブジェクトは、以下のように大きく3つに分類できる。

WSH(VBScript)から使えるオブジェクト(COMオブジェクト)
VBScriptから呼び出せるオブジェクトは、これらの3種類に大別できる。

 以下、オブジェクトの種類ごとに特徴などを説明しよう。

WSHの基本オブジェクト

 1つ目は、WSHに標準的に付属しているオブジェクトだ。多くのスクリプトは、これらの基本オブジェクトを単独、ないし組み合わせて利用することにより実現されている。

  • WScriptオブジェクト
     ほかのオブジェクトを呼び出したり、標準入出力を扱ったり、スクリプトの実行を制御したり、コマンドライン引数を読み込んだりできるWSHのトップレベル・オブジェクト。
  • FileSystemObjectオブジェクト
     ファイルやフォルダのコピー、移動、削除などを自由自在に行えるオブジェクト。サイズや更新日時などのプロパティの値も取得できる。
     またこのオブジェクトを使うことで、テキスト・ファイルに文字列を書き込んだり、読み出したりすることができる。
  • WshShellオブジェクト
     アプリケーションを起動させたり、終了させたりするためのオブジェクト。また、実行中のアプリケーションに対し、任意のキー・コード(キーを押したという情報)を送出することができる。つまり、このオブジェクトを使えば、キーボード操作を自動化できる。コンソール・アプリケーションでは、その出力内容も取得できる。
     ほかにも、レジストリの操作や、ショートカットの作成などが可能である。
  • WshNetworkオブジェクト
     ネットワーク・ドライブやネットワーク・プリンタをリストアップしたり、作成、削除したりできるオブジェクト。
  • WshControllerオブジェクト
     ネットワーク上のほかのPC上でスクリプトを実行することができるオブジェクト。

Windows OSに標準添付されているオブジェクト

 2つ目は、WSHの機能ではないが、Windows OSに標準添付されているオブジェクトである。先ほど述べた基本オブジェクトと組み合わせて使うと効果的だ。ここでは、よく使われる代表的なオブジェクトを紹介する。なお、Windows OSのバージョンによっては含まれていないオブジェクトも存在するので注意していただきたい。

  • ADODB.Connectionオブジェクト
     SQL ServerやAccessファイルなどのデータベースにアクセスし、レコードを読み書きするためのオブジェクト。
  • ADODB.Streamオブジェクト
     バイナリ・ファイルを読み書きするためのオブジェクト。また、さまざまな文字コードのテキスト・ファイルを扱うことができる(Windows 98では別途インストールが必要)。
  • XMLHTTPオブジェクト
     Webサーバからファイルを取得したり、HTTPのPOSTを行ったりするためのオブジェクト。
  • CDO.Messageオブジェクト
     SMTPサービスを用いたメールを送信するためのオブジェクト(Windows 2000/Windows XP/Windows Server 2003でのみ利用可能)。
  • InternetExplorer.Applicationオブジェクト
     IEを操作するためのオブジェクト。IEの起動、終了のほか、表示しているドキュメントの内容を読み取ったり、書き換えたりすることができる。WSHにGUIが欲しいときに併用することが多い。
  • Shell.Applicationオブジェクト
     エクスプローラを操作するためのオブジェクト。ウィンドウを並べて表示したり、「ファイル名を指定して実行」ダイアログを表示したり、フォルダ内の情報を取得したりすることができる。
  • ADSI(Active Directory Service Interfaces)
     Active Directoryなどのディレクトリ・サービスを操作するためのオブジェクト。例えば、このオブジェクトを利用して、ドメインにユーザーを追加したりできる(Windows 2000/Windows XP/Windows Server 2003でのみ利用可能)。
  • WMI(Windows Management Instrumentation)
     ソフトウェアやハードウェア、ネットワークなどのシステム情報を統一的に取り扱うことができるオブジェクト。例えば、実行中のプロセスを列挙したり、マザーボードの情報を取得したり、TCP/IPポートを追加したりできる(Windows 98/Meでは別途インストールが必要)。

別途インストールが必要なオブジェクト

 3つ目は、Windows標準添付ではないが、別途インストールすることで使用可能になるオブジェクトである。例えば、WordやExcelなどのOfficeアプリケーションをインストールすることにより、これらのアプリケーションをWSHから自在に操作できるようになる。なお、アプリケーションをWSHなどの外部から操作することを「オートメーション」という。Office以外にも、Windows Media PlayerやVirtual Serverなどのマイクロソフト製のアプリケーションのみならず、一太郎などサードパーティ製のアプリケーションにもオートメーションが可能なものがある。また、BASP21など、WSHなどから使われることを想定したオブジェクトをインストールすれば、メールの送受信やソケットの操作などが可能になる。

 以上のように、WSHでできることは枚挙にいとまがない。オブジェクトを使えば実にいろいろなことが可能になることがお分かりいただけると思う。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。