VBScript(ブイ・ビー・スクリプト)、Microsoft Visual Basic Scripting Edition は、Visual Basic 風の、マイクロソフトによるスクリプト言語である。Microsoft Windows 上や Internet Information Server(IIS)上で動作する。
VBScript は Visual Basic の構文を真似てつくられた、Windows のスクリプト言語であり、Active Scripting のスクリプトエンジンという形態で実装されている。ランタイムとしてASPやWSHがあり、主な用途として、
が挙げられる。
ただし、WWWクライアントスクリプトとしては、対応するブラウザが Windows 版の Internet Explorer だけであり、2005年時点でもほとんど使われていない。2013年にリリースされた Internet Explorer 11 では、セキュリティや互換性の設定によっては VBScript を実行しなくなり[1]、Windows 10 は2019年7月9日より、Windows 8.1 以前は2019年8月13日よりデフォルトで無効になった[2]。さらに、Windows 10 搭載の Microsoft Edge では VBScript は動作しない。
HTAやASP、HTML中に組み込まれることが多いが、単体のスクリプトファイルとしておかれる場合、拡張子は通常.vbsを使用する。
.vbs
VBScript は1996年8月、WWWのクライアントスクリプト言語として Internet Explorer 3.0 に実装された。当時ネットスケープコミュニケーションズとマイクロソフトは ブラウザ戦争と呼ばれるWebブラウザシェアとWeb標準を巡る技術競争下にあり、1996年3月に Netscape Navigator 2.0 に実装された JavaScript に対抗するものとして、JavaScript 互換のスクリプト言語 JScript と共に実装されたものである。
結果として、WWWのクライアントスクリプト言語としては、VBScript が Windows 版 Internet Explorer でしか動作しなかったことなどから、JavaScript が勝利を収め、この分野での VBScript は使用されなくなった。しかし、1996年12月、Internet Information Server 3.0 に実装された Active Server Pages の標準の言語として VBScript が採用された。ASPは、プログラムコード中にHTMLコードを埋め込む手法ではなく、HTMLコード中にプログラムコードを埋め込む手法をとり、習熟の容易さから成功を収めた。同時に標準の言語として VBScript の地位も確固たるものとなった。
一方、VBScriptはWWWだけでなく、Windows の汎用スクリプト言語として、Windows Script Hostの標準言語として採用された。WSHはバッチファイルを置き換えるものとして位置づけられ、Windows 95 OSR2より標準で装備された。
当時のマイクロソフトは ActiveX 戦略のもと、WWWとクライアント環境のシームレスな統合を目指したが、その中核スクリプト言語としてWSH、ひいては VBScript を位置づけた。そのため、VBScript は ActiveX オートメーションサーバを取り扱うことに長け、全ての操作はオートメーションサーバよりオブジェクトを生成し、それを介して行うという統一された様式である。これは、言語自身が環境に依存しないメリットももたらすが、反面、単純なファイルの複製でさえオブジェクトを生成し操作する手続きが必要という煩雑さももたらした。この煩雑さはバッチファイルからの脱却を阻むものとなった。
また、ActiveX 戦略自体、相重なるセキュリティ問題を引き起こし、WSH上の VBScript を利用したウイルスの出現などもあったことからセキュリティ面から敬遠される向きもあった。
簡単な処理も煩雑な記述になってしまう点、セキュリティ面のダーティなイメージから、VBScript は圧倒的なシェアをもつオペレーティングシステムの標準のスクリプト言語にしてはあまり普及せず、Windows の汎用スクリプト言語としての VBScript は、一定の評価はできるものの大成功したとは言えない。
マイクロソフトは2000年代初頭から ActiveX に変わる戦略として、.NET戦略を打ち立てており、ASPも2002年にリリースされたASP.NETに置き換えられ、その記述言語も C# や Visual Basic .NET 等となった。また、オペレーティングシステムの汎用スクリプト環境についてもWSHから Windows PowerShell へ移行すると言う。
2006年現在の展望では、PHPに代表されるオープンソースのサーバ側スクリプト言語が徐々にIIS上でも安定した動作が期待できるようになってきており、サーバ側スクリプト言語としてのVBScript も一部の根強い人気を除けばほぼその役割を終え、緩やかに衰退していくものと思われる。
2023年10月にMicrosoftはWindowsクライアントでのVBScriptを非推奨にすると発表した。
Windowsの将来のリリースでオンデマンド機能 (FOD) として提供されるようになり、最終的に削除される。
VBScript は、OLEサーバの接着剤としてのスクリプト言語という理念のもとに設計された。Windows の汎用スクリプト言語と説明したが、Windows が .NET 戦略への転換を迎えた現在では、むしろOLE(ActiveX)用のスクリプト言語といった方が正しい。
OLE設計が徹底されており、VBScriptは言語自身にはファイル入出力さえサポートしない。
また、動的型付けを採用している点も Visual Basic から派生した言語としては異色である。
VBScript は多くのスクリプト言語同様、動的型付け言語であるため、変数に型はない。
VBScript のデータ型には、Empty 値、Null 値、ブール型、バイト型、整数型、通貨型、日付型、文字列型、オブジェクト型、エラー型などがあるが、これら型情報はデータ側が持ち、変数自体に型はない。(または 変数はバリアント型のみだとも言われる)。
Empty
Null
VBScript は変数宣言または明示的な変数生成ステートメントを必須としない。はじめて使われるシンボルは変数として自動的に生成される。しかし、代入だけでなく、参照でも変数を生成してしまうため、入力間違いによる不具合を誘発しやすい。
そのため、変数宣言を強要する Option Explicit ステートメントをファイル先頭で宣言するのが良いコーディングスタイルと言われる。明示的に変数を生成するには Dim、Private、Public、ReDimなどの各ステートメントを用いる。
Option Explicit
Dim
Private
Public
ReDim
OLEオブジェクトを利用するには CreateObject 関数を使用する。CreateObject はActiveX オートメーションサーバからオートメーションオブジェクトを生成し、その参照を返す。
CreateObject
Dim oFileSystem Set oFileSystem = CreateObject("Scripting.FileSystemObject") oFileSystem.MoveFile "C:\2012年6月.xls" "C:\過去実績\2012年6月.xls"
以下は Microsoft Excel のシートオブジェクトを生成するサンプルである。
Dim oExcelSheet Set oExcelSheet = CreateObject("Excel.Sheet") oExcelSheet.Application.Visible = True oExcelSheet.ActiveSheet.Cells(1,1).Value = "売上" Set oExcelSheet = Nothing
OLEサーバとなっているアプリケーションを使ったスクリプトを VBScript は簡単に記述できる。VBScript が備えていないような機能でも、OLEサーバアプリケーションを作成すれば行うことが出来る。
VBScript はクラスベースのオブジェクト指向言語であり、Classステートメントによりクラスオブジェクトを生成することが出来る。
Class
VBScript のクラスオブジェクトは以下のような特徴がある。
Initialize
Terminate
以下に VBScript のクラスのサンプルコードを示す。
Class CPoint ' プロパティ Private m_x Private m_y ' メソッド Private Sub Class_Initialize ' Initialize m_x = 0 m_y = 0 End Sub Private Sub Class_Terminate ' Terminate MsgBox("terminated!") End Sub Public Function GetX() GetX = m_x End Function Public Function GetY() GetY = m_y End Function Public Sub SetPoint(x, y) m_x = x m_y = y End Sub End Class Dim obj Set obj = New CPoint MsgBox(obj.GetX) '0 と表示 obj.SetPoint 32, 64 MsgBox(obj.GetX) '32 と表示 Set obj = Nothing 'terminated! と表示
継承は出来ないものの、動的型付けであるため、多態は可能である。カプセル化も出来る。幾分制約が強いが、必要最低限のオブジェクト指向機能は備える。
VBScriptは Visual Basic によく似た構文を持ち相互に習得しやすいが、
のように、Visual Basic や Visual Basic for Applications との相違点は大きいため互換性が低く、そのままでは使用できない場合も多い。
標準でASP、WSHをホストとして動く言語には、VBScript の他に、JScript がある。JScript はマイクロソフト社による ECMAScript(いわゆるJavaScript)の実装である。同じランタイムを利用するため、機能的には似通っているが、言語の設計思想は大きく異なる。
主な相違として、
MsgBox
InputBox
特に MsgBox や InputBox が揃うことで、GUIでありながらCUIなみの手軽さで入出力を備えたUIを構築できる意義は大きい。この点で VBScript は優れる。 なお、JScript において MsgBox は WScript.Echo で代替出来る。InputBox 相当の物は存在しないため、VBScript の InputBox 関数を呼び出す。
WScript.Echo
一方、プログラミング言語としての機能は JScript の方が大きく優れる。JScript は無名関数や静的スコープのクロージャなど強力な機構を備える。
近年のコンピュータウイルスにはWSHと VBScript を組み合わせて感染する型が多発しており、VBScript のOLEクライアント機能の強力さがユーザにとっては諸刃の剣となっている。
以下のコードを適当なファイル(例えば、time.vbs)に保存し、ダブルクリックすると、現在の時刻を表示する。
time.vbs
MsgBox "現在の時刻は、" & Time & " です。"
また、HTML に埋め込む場合は、以下のように表記する。
<html> <head> <script language="VBScript"> Function GetTime() MsgBox "現在の時刻は、" & Time & "です。" End Function </script> </head> <body> …… </body> </html>
Place in Central Uganda, UgandaKawempeKawempeMap of Kampala showing the location of Kawempe.Coordinates: 00°22′45″N 32°33′27″E / 0.37917°N 32.55750°E / 0.37917; 32.55750Country UgandaRegionCentral UgandaDistrictKampala Capital City AuthorityDivisionKawempe DivisionTime zoneUTC+3 (EAT) Kawempe is an area in the city of Kampala, Uganda's capital. It is also the location of the headquarters of Kawempe Division, one of the five administrative divisions of Kam…
Festival in Kerala, India This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) The topic of this article may not meet Wikipedia's notability guideline for events. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the artic…
在欧アメリカ空軍・アメリカ空軍アフリカ創設1944年8月7日国籍 アメリカ合衆国軍種 アメリカ空軍タイプ主要軍団上級部隊アメリカ空軍参謀本部アメリカ欧州軍アメリカアフリカ軍基地ドイツ・ラムシュタイン空軍基地渾名USAFE-AFAFRICAモットーVigilance for Freedom[1]表話編歴 在欧アメリカ空軍・アメリカ空軍アフリカ(ざいおうアメリカくうぐん・アメリカくうぐんアフ
Pemilihan umum India 2014200920197 April hingga 12 Mei 2014← Daftar anggota Lok Sabha ke-15 (berdasarkan negara bagian)anggota →543 kursi di Lok Sabha272 kursi untuk meraih status mayoritasJajak pendapat Kehadiran pemilih66,38%Kandidat Partai pertama Partai kedua Partai ketiga Ketua Narendra Modi Rahul Gandhi J. Jayalalithaa Partai BJP INC AIADMK Aliansi NDA UPA Ketua sejak 10 Juni 2013 19 Januari 2013 9 Februari 1989 Kursi ketua Vadodara (dikos…
District in Reykjavík, IcelandBreiðholtDistrictEntrance to the secondary school in BreiðholtCountry IcelandMunicipalityReykjavíkArea • District5.5 km2 (2.1 sq mi) • Urban4.7 km2 (1.8 sq mi)Population (2012) • District20,546[1]Postal codeIS-109, IS-111 Breiðholt (Icelandic pronunciation: [ˈpreiðˌhɔl̥t]) is a southeastern district of Reykjavík, Iceland. It includes three neighbourhoods: Neðra-Br…
Suecia en los Juegos Olímpicos Bandera de SueciaCódigo COI SWECON Comité Olímpico Sueco(pág. web)Juegos Olímpicos de Lake Placid 1980Deportistas 61 en 9 deportesAbanderado Eva OlssonMedallasPuesto: 5 3 0 1 4 Historia olímpicaJuegos de verano 1896 • 1900 • 1904 • 1908 • 1912 • 1920 • 1924 • 1928 • 1932 • 1936 • 1948 • 1952 • 1956 • 1960 …
Bandeira de Galmudug. Localização de Galmudug. Mapa de Galmudug. Galmudug é um estado da Somália auto-proclamado autônomo, porém, não reconhecido. Está localizado no sul da região somali de Mudug, incluindo a metade sul da cidade e distrito de Gaalkacyo e a cidade portuária de Hobyo. Controla ainda uma pequena área ao norte da região de Galguduud. Faz divisa ao norte com Puntlândia (que ocupa a parte norte de Gaalkacyo e de Mudug), a oeste com a Etiópia e a sul e leste com o resto …
Komando Pemeliharaan Materiil Angkatan UdaraLambang KoharmatauAktif26 Oktober 1963Negara IndonesiaTipe unitKomando Utama PembinaanBagian dariTNI Angkatan UdaraMarkasBandung, Jawa BaratMotoSewana Karya Buddhi SaktiSitus webhttps://koharmat.tni-au.mil.id/TokohKomandanMarsekal Muda TNI Oki Yanuar, S.T.Wakil KomandanMarsekal Pertama TNI Talawide, S.T.InspekturMarsekal Pertama TNI Nyoman Sudarsana, S.I.P., M.H., M.Tr.(Han). Komando Pemeliharaan Materiil Angkatan Udara atau (Koharmatau) adalah Ko…
2007 studio album by Coheed and CambriaGood Apollo, I'm Burning Star IV, Volume Two: No World for TomorrowCover art by Ken KellyStudio album by Coheed and CambriaReleasedOctober 23, 2007[1]RecordedApril–June 2007Genre Progressive rock[2] progressive metal emo alternative rock Length59:54LabelColumbiaProducer Nick Raskulinecz[3] Rick Rubin[3] Coheed and Cambria chronology Good Apollo, I'm Burning Star IV, Volume One: From Fear Through the Eyes of Madness(…
Process of fatty acid breakdown This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Beta oxidation – news · newspapers · books · scholar · JSTOR (October 2011) (Learn how and when to remove this template message) In biochemistry and metabolism, beta oxidation (also β-oxidation) is the catabolic process by which fa…
«Зеніт» (Боярка) Повна назва Футбольний клуб«Зеніт» Засновано Населений пункт Боярка, Україна Стадіон «Зеніт» Вміщує 96[1] Президент Василь Наумчук Головний тренер Василь Наумчук Ліга чемпіонат ААФУ 2009 4-те в групі з 4-х Домашня Виїзна У Вікіпедії є статті про інші зн…
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (فبراير 2016) القاهرة والناس معلومات عامة النوع منوعة المالك طارق نور تاريخ التأسيس 2009 البلد مصر اللغة عربية المق…
Cet article est une ébauche concernant les sous-marins et le Chili. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Classe Capitán O'Brien Caractéristiques techniques Type Sous-marin d'attaque conventionnel Longueur 79 m Maître-bau 8,5 m Tirant d'eau 4,11 m Déplacement 1 540 tonnes en surface 2 020 tonnes en immersion[1] Propulsion 2 moteurs diesel Vickers de 2 750 ch (2 050…
American gothic rock band This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Christian Death – news · newspapers · books · scholar · JSTOR (December 2015) (Learn how and when to remove this template message)…
Place in Centre-Nord Region, Burkina FasoDaribitiDaribitiLocation in Burkina FasoCoordinates: 13°20′N 1°27′W / 13.333°N 1.450°W / 13.333; -1.450Country Burkina FasoRegionCentre-Nord RegionProvinceBam ProvinceDepartmentKongoussi DepartmentPopulation (1996) • Total512Time zoneUTC+0 (GMT 0) Daribiti is a village in the Kongoussi Department of Bam Province in northern Burkina Faso. It has a population of 512.[1] References ^ Burkinabé go…
German singer (born 1969) AnNa R.AnNa R. (2006)Background informationBirth nameAndrea Rosenbaum[1]Also known asAndrea Neuenhofen[2]Born (1969-12-25) 25 December 1969 (age 53)East Berlin, East GermanyGenresPopOccupation(s)Singer, songwriterYears active1991–presentLabelsPool, Beaux (Traumton), Polydor/Island (Universal)Websitewww.gleis8.net (in German)Musical artist Andrea Neuenhofen (née Rosenbaum; born 25 December 1969), better known by her stage name AnNa R., is a G…
Pedang tradisional orang Naga, Dao. Dao adalah senjata nasional orang Naga yang dapat ditemukan di Assam dan Nagaland di India bagian timur laut. Dao memiliki fungsi yang sangat beragam, mulai dari untuk berburu atau untuk menggali dan juga sebagai senjata perang. Dao hampir merupakan satu-satunya perangkat yang digunakan oleh orang Naga untuk berbagai macam kebutuhan.[1] Bentuk Golok dao ditemukan di negara bagian Assam dan Nagaland di bagian timur laut India. Tempat-tempat ini adalah s…
This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Tails of Illusion – news · newspapers · books · scholar · JSTOR (May 2014) (Learn how and when to remove this template message) 1975 studio album by FoxTails of IllusionStudio album by FoxReleased1975GenreProgressive rockLabelGTOProducerKenny YoungFox chronology Fox(1975) T…
Israeli folk dancing, performance in honor of the Jewish holiday of Shavuot Mayim Mayim (Hebrew: מים מים, water, water) is an Israeli folk dance, danced to a song of the same name. It has become notable outside the Israeli dancing community and is often performed at international folk dance events. History The dance was created in 1937 for a festival to celebrate the discovery of water in the desert after a seven-year search. The choreographer was Else I. Dublon.[1] The dance is so…
American physician (born 1949) Peter AgreBorn (1949-01-30) January 30, 1949 (age 74)Northfield, Minnesota, U.S.Alma materAugsburg College (B.A., 1970)Johns Hopkins School of Medicine (M.D., 1974)Case Western Reserve University (1975–1978)North Carolina Memorial Hospital (1978–1981)Known forAquaporinsAwardsNobel Prize in Chemistry (2003) Bloomberg Distinguished Professorships (2014)Scientific careerFieldsMedicineChemistryBiochemistryInstitutionsJohns Hopkins Malaria Research In…
Lokasi Pengunjung: 3.137.223.173