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 ページのようすを動的に変更する場合に使用できます。