(ブイ・ビー・スクリプト)、 は、Visual Basic 風の、マイクロソフトによるスクリプト言語である。 上や (IIS)上で動作する。 は の構文を真似てつくられた、 のスクリプト言語であり、 のスクリプトエンジンという形態で実装されている。ランタイムとしてASPやWSHがあり、主な用途として、が挙げられる。ただし、WWWクライアントスクリプトとしては、対応するブラウザが 版の だけであり、2005年時点でもほとんど使われていない。2013年にリリースされたInternet Explorer 11では、セキュリティや互換性の設定によってはVBScriptを実行しなくなった。さらに、Windows 10搭載のMicrosoft EdgeではVBScriptはサポート対象外とされた。HTAやASP、HTML中に組み込まれることが多いが、単体のスクリプトファイルとしておかれる場合、拡張子は通常codice_1を使用する。 は1996年8月、WWWのクライアントスクリプト言語として 3.0 に実装された。当時ネットスケープコミュニケーションズとマイクロソフトは ブラウザ戦争と呼ばれるWebブラウザシェアとWeb標準を巡る技術競争下にあり、1996年3月に 2.0 に実装された に対抗するものとして、 互換のスクリプト言語 と共に実装されたものである。結果として、WWWのクライアントスクリプト言語としては、 が 版 でしか動作しなかったことなどから、 が勝利を収め、この分野での は使用されなくなった。しかし、1996年12月、3.0 に実装された の標準の言語として が採用された。ASPは、プログラムコード中にHTMLコードを埋め込む手法ではなく、HTMLコード中にプログラムコードを埋め込む手法をとり、習熟の容易さから成功を収めた。同時に標準の言語として の地位も確固たるものとなった。一方、はWWWだけでなく、 の汎用スクリプト言語として、の標準言語として採用された。WSHはバッチファイルを置き換えるものとして位置づけられ、 95 OSR2より標準で装備された。当時のマイクロソフトは 戦略のもと、WWWとクライアント環境のシームレスな統合を目指したが、その中核スクリプト言語としてWSH、ひいては を位置づけた。そのため、 は オートメーションサーバを取り扱うことに長け、全ての操作はオートメーションサーバよりオブジェクトを生成し、それを介して行うという統一された様式である。これは、言語自身が環境に依存しないメリットももたらすが、反面、単純なファイルの複製でさえオブジェクトを生成し操作する手続きが必要という煩雑さももたらした。この煩雑さはバッチファイルからの脱却を阻むものとなった。また、 戦略自体、相重なるセキュリティ問題を引き起こし、WSH上の を利用したウイルスの出現などもあったことからセキュリティ面から敬遠される向きもあった。簡単な処理も煩雑な記述になってしまう点、セキュリティ面のダーティなイメージから、 は圧倒的なシェアをもつオペレーティングシステムの標準のスクリプト言語にしてはあまり普及せず、 の汎用スクリプト言語としての は、一定の評価はできるものの大成功したとは言えない。マイクロソフトは2000年代初頭から に変わる戦略として、戦略を打ち立てており、ASPも2002年にリリースされたASP.NETに置き換えられ、その記述言語も C# や 等となった。また、オペレーティングシステムの汎用スクリプト環境についてもWSHから へ移行すると言う。2006年現在の展望では、に代表されるオープンソースのサーバ側スクリプト言語が徐々にIIS上でも安定した動作が期待できるようになってきており、サーバ側スクリプト言語としての も一部の根強い人気を除けばほぼその役割を終え、緩やかに衰退していくものと思われる。 は、OLEサーバの接着剤としてのスクリプト言語という理念のもとに設計された。 の汎用スクリプト言語と説明したが、 が 戦略への転換を迎えた現在では、むしろOLE()用のスクリプト言語といった方が正しい。OLE設計が徹底されており、は言語自身にはファイル入出力さえサポートしない。また、動的型付けを採用している点も から派生した言語としては異色である。 は多くのスクリプト言語同様、動的型付け言語であるため、変数に型はない。そのため、変数宣言を強要する codice_4 ステートメントをファイル先頭で宣言するのが良いコーディングスタイルと言われる。明示的に変数を生成するには codice_5、codice_6、codice_7、codice_8などの各ステートメントを用いる。OLEオブジェクトを利用するには codice_9 関数を使用する。codice_9 は オートメーションサーバからオートメーションオブジェクトを生成し、その参照を返す。以下は のシートオブジェクトを生成するサンプルである。OLEサーバとなっているアプリケーションを使ったスクリプトを は簡単に記述できる。 が備えていないような機能でも、OLEサーバアプリケーションを作成すれば行うことが出来る。 はクラスベースのオブジェクト指向言語であり、codice_11ステートメントによりクラスオブジェクトを生成することが出来る。以下に のクラスのサンプルコードを示す。継承は出来ないものの、動的型付けであるため、多態は可能である。カプセル化も出来る。幾分制約が強いが、必要最低限のオブジェクト指向機能は備える。は によく似た構文を持ち相互に習得しやすいが、のように、 や との相違点は大きいため互換性が低く、そのままでは使用できない場合も多い。標準でASP、WSHをホストとして動く言語には、 の他に、 がある。 はマイクロソフト社による (いわゆる)の実装である。同じランタイムを利用するため、機能的には似通っているが、言語の設計思想は大きく異なる。主な相違として、が挙げられる。特に codice_14 や codice_15 が揃うことで、GUIでありながらCUIなみの手軽さで入出力を備えたUIを構築できる意義は大きい。この点で は優れる。なお、 において codice_14 は codice_19 で代替出来る。codice_15 相当の物は存在しないため、 の codice_15 関数を呼び出す。一方、プログラミング言語としての機能は の方が大きく優れる。 は無名関数や静的スコープのクロージャなど強力な機構を備える。近年のコンピュータウイルスにはWSHと を組み合わせて感染する型が多発しており、 のOLEクライアント機能の強力さがユーザにとっては諸刃の剣となっている。以下のコードを適当なファイル(例えば、codice_22)に保存し、ダブルクリックすると、現在の時刻を表示する。また、HTML に埋め込む場合は、以下のように表記する。
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。