HTML に VBScript コードを記述する

<SCRIPT> タグを使用すると、HTML に VBScript コードを記述できます。

<SCRIPT> タグ

Microsoft® Visual Basic® Scripting Edition (以下 VBScript) コードは、<SCRIPT></SCRIPT> タグを使用して記述します。たとえば、配達日をテストするプロシージャは、次のコード例のように記述します。

<SCRIPT LANGUAGE="VBScript"> 
<!--
   Function CanDeliver(Dt)
      CanDeliver = (CDate(Dt) - Now()) > 2
   End Function
-->
</SCRIPT>

上の例では、SCRIPT の開始 (<SCRIPT>) と終了 (</SCRIPT>) のタグで VBScript コードが囲まれています。LANGUAGE 属性は使用するスクリプト言語を示しています。ブラウザは、ほかのスクリプト言語を使用することもできるので、使用言語は必ず指定する必要があります。CanDeliver 関数がコメント タグ (<!-- および -->) 内に埋め込まれていることに注意してください。これは、<SCRIPT> タグに対応していないブラウザが VBScript コードを表示するのを防いでいます。

上の例は、特定のコントロールと結び付けられていない一般的な関数なので、次のコード例のようにページの <HEAD> セクションに含めることができます。

<HTML>
<HEAD>
<TITLE>配達日の指定</TITLE>
<SCRIPT LANGUAGE="VBScript">
<!--
   Function CanDeliver(Dt)
      CanDeliver = (CDate(Dt) - Now()) > 2
   End Function
-->
</SCRIPT>
</HEAD>
<BODY>
...

SCRIPT ブロックは、ページ内のどこにでも使用できるので、<BODY> セクションと <HEAD> セクションの両方にも SCRIPT ブロックを追加できます。ただし、すべてのコードをまとめておくために、用途の広いスクリプト コードについては、<HEAD> セクション内に記述してください。<HEAD> セクション内に記述されたコードは、すべて読み込まれ、最初に解読されます。その後で <BODY> セクション内で呼び出されます。

この規則に対して 1 つの注目すべき例外があります。フォームのオブジェクトのイベントに返答するようにフォーム内にインラインのスクリプト コードを記述する場合です。たとえば、次に示すコード例のように、フォーム内のボタンをクリックするたびに返答するスクリプト コードを埋め込む場合です。

<HTML>
<HEAD>
<TITLE>ボタン イベントのテスト</TITLE>
</HEAD>
<BODY>
<FORM NAME="Form1">
   <INPUT TYPE="Button" NAME="Button1" VALUE="Click">
   <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript">
      MsgBox "ボタンがクリックされました !"
   </SCRIPT>
</FORM>
</BODY>
</HTML>

スクリプト コードは、その多くが Sub または Function プロシージャ内のどちらかに記述されています。そして、記述されたスクリプト コードが呼び出されるのは、そのスクリプト コードが指定されたときのみです。ただし、SCRIPT ブロック内であれば、スクリプト コードをプロシージャの外にも記述できます。この場合のスクリプト コードは、HTML ページがロードされたとき、一度だけ実行されます。このようなコードは、HTML ページがロードされたとき、データを初期化するか、または Web ページのようすを動的に変更する場合に使用できます。