VBScript 入門編


システム情報工学研究科 005369 野沢 雅子

VBScriptと実行環境
記述方法
VBSとVBの違い
VBScriptの基本


◯VBScriptと実行環境[up]

VBScript(Microsoft Visual Basic Scripting Edition) はプログラム言語であるVisual Basic シリーズの一つで、様々な環境におけるスクリプト処理を可能にします。
Internet Explorerはブラウザ上でプログラムが動作するのをサポートするために、ActivX(注:1)スクリプトを採用しました。
ActivXスクリプトの一つであるVBSはインターネット用に設計しなおされた汎用のプログラミング言語です。
VBScriptは、InternetExplorer3.x以上でクライアントサイドスクリプティング処理を、InternetInformationServer(IIS)、PersonalWebServer(PWS)の環境下でサーバサイドスクリプティング処理を 実現する非常に用途の広い言語です。
Windoes Scripting Hostの登場によりVBScriptを直接デスクトップ上から実行することが可能となりました。IEではHTMLファイル、IISやPWSではASPファイル、WSHではVBSファイルに記述されます。

注1:Microsoftのインターネット関連の技術。VBSはActivX全体の一部であるがActivX標準の開発言語として重要な位置を占める。


◯記述方法[up]

●Internet Explorer(IE):
VBSはHTMLファイル中に記述され、ブラウザにロードされることでプログラムを実行します(ブラウザ側でのスクリプト処理)。 HTML文書にVBScriptを埋め込むとInternet Explorer上でのアクティブな処理が可能となります。ただし、ローカルファイルやフォルダ等へのアクセスはできません。
HTML文書にVBScriptを埋め込むには<SCRIPT>タブで囲んで処理を記述します。 メッセージボックスで表示するにはMsgBox(改行は vbCR)を、ページ上に表示するならdocument.write(改行は"BR")を使います。

#メッセージボックスでの表示

プログラム(Msgtest.html.asp)
-----
-----


#ページ上に表示

プログラム(Webtest.html)
-----
-----

●Active Server Page(ASP):
ASPというと、技術としてのASP(ActiveServerPage)とサービスとしてのASP(ApplicationServiceProvider)の2通りがあってややこしいのですが、要はクライアント/サーバー環境で、コンピューターが行なう処理をすべてサーバーマシンで実行するということです。
利用する側はアプリケーションソフトが不要ということになります。
そうしたWEBアプリケーションをサービスするのがASP(ApplicationServiceProvider)で、これまでは、CGIやSSIとして使われた技術を利用したものです。
そして、ASP(ActiveServerPage) はWEBアプリケーションのためにMicrosoftが提供する技術といえます。
そこで、CGIやSSIというとUNIXの知識が必要で、Perl言語で書くのが一般的ですが、WindowsNT/98/95のASPであれば、ここで説明するVBScriptでも作れるものです。
VBScriptがWSHでは普通のアプリケーションとして実行されるのに対し、ASPではWEBアプリケーションとして実行されます。
ただし、ASPはWindow環境だけの話で、一般的なサーバーであるUNIXマシンでは使えないため、イントラネットでの利用に限定されますが、ややこしいPerlスクリプトを覚えるより、なじみやすいVBScriptを使って、AccessやExcelを直接操作できるというメリットもあります。
ASPを利用するには、WindowsNTサーバーならIIS(注2)、WindowsNTワークステーション/98/95ではPWSをインストールし、ASPを追加します。
これで、WEBサーバーになるわけで、そのマシンに置いたHTMLファイルを、他のマシンからWEBブラウザで、インターネットと同じように見ることができるようになります。
このHTMLファイルにVBScriptを記述し、ASPで実行すれば、CGIやSSIと同じように、対話的なWEBページが作れます。
Javaスクリプトとの違いは、ASPではサーバーで実行され、Javaスクリプトはブラウザで実行されるという違いがあります。
サーバー上のASPファイルを変更したときには、そのファイルを単に保存するだけです。
次にWebページがロードされた時点で、スクリプトは自動的にコンパイルされます。
IIS、PWSでは、通常のHTMLファイルの拡張子を.aspに変更するだけでActive Server Pageと認識されるようになります。
これにサーバー上で実行するスクリプトを埋め込んでいくことによってサーバー側の様々な処理が可能になります。
記述する際にはすべてのスクリプトを「<%」と「%>」で囲みます。 またASPではMsgBox関数は使えないので「Response.write」に変更します。

#ページ上に表示

プログラム(ASPtest.asp)
-----
-----

Response.write は一行であるなら=での代替も可能です。 表示は(Fig)と同じになります。

プログラム(ASPtest2.asp)
-----
-----

注2:MicrosoftがWindows NT Server用に開発したWWWサーバ。

●Windows Scripting Host(WSH):インストール
WSHとはWindows98/2000/Me(もしくはInternet Explorer4,5)を普通にインストールすると、ついてくるユーティリティのことです。WSHは、本来インターネット上のWebページで、インタラクティブ性をもたせるために使われるスクリプト(VBスクリプトやJAVAスクリプト)を、ブラウザ上ではなくデスクトップで利用するための技術を提供します。
実行ファイルは c:\windows\wscript.exe です。 テキストエディタでスクリプトを書き、拡張子.vbsで保存すると.vbsファイルは「wscript.exe」に関連づけされているため、ダブルクリックして実行させると、「wscript.exe」にスクリプトファイルが読み込まれ、その内容が実行されるようになっています。

#メッセージボックスでの表示

プログラム(test.vbs)
-----
msgbox("Today is " & Year(Date) & "." & Month(Date) & "." & Day(Date) & "!! " & vbCR & "How are you, today ?" )
-----

現状で利用できるのは、メッセージボックスとインプットボックス(とコモンダイアログ)だけです。


◯VBSとVBの違い [up]

VBとはMicrosoft Visual Basicの略で、Windows用のアプリケーションを開発するためのプログラム言語です。現在ではVer 6.0が発売されています。VBは、その名の通り、Visualな環境でプログラミングが可能で、基本的にボタンや、テキストボックス、チェックボックスといったコントロールをフォーム(ウィンドウ)に配置し、それらのコントロールに対するコードを記述する形式になっています。
また、VBはVisual C++等と比べて初心者にもわかりやすく、その一方で商用アプリの開発環境としても採用されるほどのパワフルな言語と言えます。なお、VBで作られたアプリを動作させるには、VBランタイムと呼ばれるDLLファイルが必要になります。このランタイムをロードするため、VBアプリは起動が若干遅いというデメリットもあります。
VBの言語の部分だけを継承し、Internet ExplorerやWindows Scripting Hostといったホストアプリケーションから使えるようにしたのがVBS (Visual Basic Scripting Edition;VBScript) です。基本的にボタンや、テキストボックス、チェックボックスといったコントロールを単独では持たず、ホストアプリケーションを介して利用することになります。
VBSはWebページのインタラクティブ性を向上させる言語としてHTML中で用いられ、あるいはWSHから利用し、バッチファイルよりも高度なスクリプトとして用いられています。
また、VBSではVBやVBAの持っている機能のうち、いくつかが省かれています。(もちろんVBSにはあるが、VBでは省略された機能というのもあります。これについてはVBSのランゲージリファレンスに詳しい一覧表があります。 )VBSの最新バージョン(5.0)では、正規表現が利用できるようになりました。VBSではRegExpオブジェクトが正規表現の機能を提供しています。


◯VBScriptの基本 [up]

VBScriptは<script language="VBScript"></script>タグの間に表記します VBScriptに対応していないユーザーへのために<!--、-->タグで、プログラムを囲むとVBScriptに対応していないブラウザではスクリプトをコメントと見做してくれます。現在、VBScriptに対応するのがIEのみであるので配慮しておいた方がいいでしょう。



参考資料 :
Visual Basic Script スタンダードプログラミング 秋月 巌 1997 オーム社
VBScript ポケットリファレンス(株)アンク 1999 技術評論社
http://member.nifty.ne.jp/Y-Yamada/vbscript.html
http://www.asia.microsoft.com/Japan/Developer/Scripting/



スクリプトのページへ

nozawa@golem.kz.tsukuba.ac.jp