VBScriptでASPを始めよう!基礎から応用までわかりやすく解説

ASP(Active Server Pages)は、サーバーサイドで動作するWebアプリケーションの開発環境です。

そのASPの中核となるのが「VBScript」です。

VBScriptはMicrosoftが開発したスクリプト言語で、特に簡単な文法と使いやすさから、ASPの開発において非常に重要な役割を果たしています。

本記事では、ASP環境のセットアップ手順から、VBScriptを使ったASPの基礎から応用までをわかりやすく解説します。

Webアプリケーション開発に初めて取り組む方でも理解できるように、具体例を交えて説明しますので、ぜひ最後までお読みください。

ASPを始めるための環境セットアップ

ASPを動作させるためには、Webサーバーが必要です。

ここでは、Windows環境におけるASPのセットアップ手順を紹介します。

ステップ1:IIS(Internet Information Services)の有効化

WindowsのIIS(Internet Information Services)は、ASPを実行するためのサーバー機能を提供します。まず、IISを有効にする必要があります。

  • コントロールパネルを開きます。
  • プログラム > Windows の機能の有効化または無効化を選択します。
  • Internet Information Services にチェックを入れて、有効化します。
  • IIS マネージャーを起動し、適切な設定が行われていることを確認します。

ステップ2:ASPの有効化

IISを有効にしただけではASPは動作しないため、ASPの機能を有効にする必要があります。

  • IIS マネージャーを開き、左のペインでサーバー名をクリックします。
  • 機能ビューに移動し、ISAPI および CGI 制限を選択します。
  • ASPが有効になっているか確認し、無効な場合は有効化します。

ステップ3:ASPファイルを配置するフォルダの作成

IISのルートディレクトリにASPファイルを配置します。

  • 通常はC:\inetpub\wwwrootがIISのルートディレクトリです。
  • このフォルダに.asp拡張子のファイルを配置します。例えば、test.aspというファイルを作成しましょう。

ステップ4:テスト用ASPファイルの作成

次に、簡単なASPファイルを作成して動作確認を行います。

<%
Response.Write("Hello, ASP World!")
%>

このファイルをtest.aspとして保存し、C:\inetpub\wwwrootに配置します。

ステップ5:ブラウザで動作確認

  • IISが動作していることを確認し、ブラウザでhttp://localhost/test.aspにアクセスします。
  • 「Hello, ASP World!」と表示されれば、ASPが正常に動作しています。

VBScriptの基本構文

環境が整ったところで、次にVBScriptの基本構文を学びましょう。

ASPでは主にVBScriptが使われ、以下のような基本構文を理解することが重要です。

変数の宣言と代入

VBScriptでは、変数の宣言はDimキーワードを使います。

Dim myVariable
myVariable = "こんにちは"

条件分岐

条件分岐ではIf…Then…Elseが使用されます。

If myVariable = "こんにちは" Then
    Response.Write "挨拶です!"
Else
    Response.Write "挨拶ではありません。"
End If

ループ処理

繰り返し処理には、For…NextやDo…Whileを使います。

Dim i
For i = 1 To 5
    Response.Write "ループ番号: " & i & "<br>"
Next

ASPでVBScriptを使ったWebページ作成

ここでは、VBScriptを使った簡単なASPページを実際に作成し、動的なコンテンツ生成の方法を学びます。

例1:現在の日付と時刻を表示するASPページ

以下のASPスクリプトでは、現在の日付と時刻を表示する簡単なWebページを作成します。

<%
Dim currentDate
currentDate = Now() ' 現在の日付と時刻を取得

Response.Write "<html>"
Response.Write "<body>"
Response.Write "<h1>現在の日付と時刻</h1>"
Response.Write "<p>" & currentDate & "</p>"
Response.Write "</body>"
Response.Write "</html>"
%>

このコードをdate.aspというファイル名で保存し、C:\inetpub\wwwrootに配置します。

その後、ブラウザでhttp://localhost/date.aspにアクセスすると、現在の日付と時刻が表示されます。

例2:ユーザー入力を処理するフォーム

フォームを使ってユーザー入力を処理し、その結果を動的に表示するASPページの例を見てみましょう。

<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    Dim userName
    userName = Request.Form("name")

    Response.Write "<h2>こんにちは、" & userName & "さん!</h2>"
Else
%>
<form method="post" action="form.asp">
    名前: <input type="text" name="name">
    <input type="submit" value="送信">
</form>
<%
End If
%>

このページでは、POSTリクエストが送信された場合、フォームに入力された名前を取得して、挨拶メッセージを表示します。

演習問題と解答例

この記事の内容を基にした演習問題を通じて、実際に手を動かしながら学習を進めましょう。

演習問題1:時間帯に応じた挨拶メッセージ

ユーザーがフォームで名前を入力すると、現在の時間帯に応じて「おはようございます」「こんにちは」「こんばんは」と挨拶するASPページを作成してください。

演習1:解答例
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    Dim userName, currentHour, greeting
    userName = Request.Form("name")
    currentHour = Hour(Now())

    If currentHour < 12 Then
        greeting = "おはようございます"
    ElseIf currentHour < 18 Then
        greeting = "こんにちは"
    Else
        greeting = "こんばんは"
    End If

    Response.Write "<h2>" & greeting & "、" & userName & "さん!</h2>"
Else
%>
<form method="post" action="greeting.asp">
    名前: <input type="text" name="name">
    <input type="submit" value="送信">
</form>
<%
End If
%>

演習問題2:簡単なデータベース検索

データベースに保存されたユーザー情報(名前と年齢)を検索し、指定された名前が存在するかどうかを確認するページを作成してください。

演習2:解答例
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
    Dim conn, rs, sql, searchName
    searchName = Request.Form("name")

    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db\sample.mdb"
    
    sql = "SELECT * FROM Users WHERE Name = '" & searchName & "'"
    Set rs = conn.Execute(sql)

    If Not rs.EOF Then
        Response.Write "<h2>" & rs("Name") & "さんの年齢は " & rs("Age") & "歳です。</h2>"
    Else
        Response.Write "<h2>" & searchName & "さんはデータベースに存在しません。</h2>"
    End If

    rs.Close
    conn.Close
Else
%>
<form method="post" action="search.asp">
    名前: <input type="text" name="name">
    <input type="submit" value="検索">
</form>
<%
End If
%>

まとめ

この記事では、ASPを始めるための環境セットアップから、VBScriptの基本構文、フォーム処理、データベースとの連携までを詳しく解説しました。

IISのセットアップ手順に従って、まずはASPを実行できる環境を整え、VBScriptを使った動的なWebページの作成に挑戦してみてください。