プログラミング初心者はまずVBScriptを学んだほうが良い理由と言語の特徴

VBScript入門
スポンサーリンク

昨今はプログラミングがブームです。
義務教育にも採用され、子供向けのスクールでもプログラミング教室は盛況です。

大人の世界でも、ローコード開発やRPAといった、ITの専門的な技術がなくても作業の自動化やシステム化ができるツールも出回るようになり、その延長線上でプログラミングを習得しようとする人は増えています。

また、世の中の景気がなかなか改善しない社会において、「手に職」や「景気に左右されない技術職」という考え方から、プログラミングを習得してIT技術者を目指す人も非常に増えています。

今回の記事では、過去にはシステム開発会社で様々な業務システムの開発に関わり、今は事業会社の情シスとして社内システムの運用をしてきた私の経験から、プログラミング初心者に本当にオススメしたいプログラミング言語である「VBScript」の魅力や特徴を紹介していきます。
 
 

VBScriptとは

現代の人気のあるプログラミング言語のランキングや、初心者向けのプログラミングスクールではまず名前があがってこない「VBScript」ですが、実は非常に実用的な言語です。
そもそも「VBScript」とはどんなプログラミング言語なのでしょうか。

Wikipediaの記事を引用してみます。

VBScript(ブイ・ビー・スクリプト)、Microsoft Visual Basic Scripting Edition は、Visual Basic 風の、マイクロソフトによるスクリプト言語である。Microsoft Windows 上や Internet Information Server(IIS)上で動作する。

〜〜中略〜〜

VBScript は Visual Basic の構文を真似てつくられた、Windows のスクリプト言語であり、Active Scripting のスクリプトエンジンという形態で実装されている。
VBScript Wikipedia

Windows上で実行できて、Visual Basic(VB)に似た構文のスクリプト言語とあります。

「プログラミング言語」の定義をさらに細分化して、実行時にコンパイルをする必要のないプログラミング言語を「スクリプト言語」と呼んだりもします。
尚、当記事では、スクリプト系言語も含めて「プログラミング言語」として扱います。

次項では、より詳しい「VBScript」の特徴を紹介していきます。
 

VBScriptの特徴

当項では、ブログラミング言語における「VBScript」の特徴を紹介していきます。
 

動的型付け言語

この特徴はWikipediaでも解説されていますが、当記事でも簡単に触れておきます。
一般的なプログラミング言語では変数を宣言する場合に、その変数の「型」も併せて指定します。

変数は値を格納する論理的な「入れ物」ですが、その「入れ物」に格納する値の種類を「型」で指定します。
文字列を格納する場合は「文字列型」、整数を格納するなら「整数型」などです。
「整数型」の変数に対して、人の名前や何かの名称といった文字列を格納することはできません。
格納しようとするとエラーになります。

このようなルールを持つプログラミング言語を「静的型付け言語」と呼び、逆に変数を宣言する際に型を指定しないようなプログラミング言語を「動的型付け言語」と呼びます。

VBScriptはこの「動的型付け言語」です。
この様な動的型付け言語では、他にも「JavaScript」や「Python」「PHP」などがあります。

VBScriptは動的型付け言語ですが、言語仕様として「型」が存在しないわけではなく、内部的には型はあります。

ただ、変数に対して型が決まるのは、変数を宣言したときではなく、変数に値を入れたときです。
変数に値を入れたときに、その変数にどんな値を入れたかによってその変数の型が決まるといったイメージです。

また、変数だけではなく、VBScriptに組み込まれた関数などが戻す値も型を持っており、動的他型付け言語といっても、型を意識しないでコードを書くことはできません。

また、この動的型付け言語については、メリット、デメリットがあり、プログラミングが上達するほど、デメリットの方が大きくなっていきます。
 

Windows環境専用の言語

Wikipediaにも記述がありますが、VBScriptはWindows環境下でのみ実行できます。
IISというWindows Server上で稼働させるWebサーバーに、ASP(Active Server Pages)を使用して動的なWebアプリケーションを作る際のスクリプトとして使用できます。

また、VBScriptを記述したテキストファイルの拡張子を「.vbs」と指定して保存することで、Windows ServerやWindows 11 や Windows 10 などのWindows OS上でそのファイルを直接実行させることもできます。

尚、VBScriptで記述された処理を解析して実行する役割の実行環境はWSH(Windows Script Host)と呼びます。

VBScriptは、Windows以外のOSでは実行はできません。
また、Webアプリケーション用のスクリプトとしても使用できると紹介しましたが、このスクリプトが動くのはInternet Explorerのみであり、Google Chromeなどの他社製ブラウザや、同じMicrosoft製のMicrosoft Edgeでも動きません。

前述したASP自体も大変古い技術であり、現代のWebアプリケーションのサーバーサイドスクリプトとしてVBScriptが採用されることはありません。

また、VBScriptはフォームなどの対話的なGUI機能もありません。
GUI的な機能としては、Msgbox関数でポップアップするメッセージボックスを表示できる程度です。

よって、現代のVBScriptの用途としては、Windows OS上でのバッチ処理記述用がメインになります。
 

歴史が長く古い言語

Wikipediaでも解説されていますが、VBScriptが生まれたのは、西暦1996年です。

VBScriptの構文を解析して処理を実行するのはWSH(Windows Script Host)ですが、WSH自体のアップデートはWindows Vistaの頃を最後に止まっています。

マイクロソフトのWSHに関するリファレンスページのリンクも紹介しておきます。
このリンク先の日付は「2009/08/28」となっています。

尚、WSHのバージョンナンバーは、Windows10やWindows11で確認すると、5.812となっています。
以下のコードをVBScriptで実行するとWSHのバージョン番号を確認できます。

'WSHのバージョンを表示します。
WScript.Echo WScript.Version

ただ、変わっているのはバージョン番号だけのようで、WSH自体の機能は5.6と変わりは無いようです。
 

機能が少なくシンプルな言語

VBScriptは、一般的なプログラミング言語と比較しても、言語自体が持っている機能は非常に少ないのも特徴です。

機能が少ないなら不便かと言えば、そうではありません。

Wikipediaでも以下のように解説されています。

OLEサーバの接着剤としてのスクリプト言語という理念のもとに設計された。

VBScript(厳密に言えば、WSH)は、スクリプトとして動作するための最低限の制御構文や変数、クラスなどの仕組みを提供し、ファイルの入出力やデータベースとの接続といった機能は、「OLE」と呼ばれる、Windows独自のアプリケーション間の連携技術を利用して外部プログラムを呼び出して、オブジェクトとして生成して操作します。

それらのOLEサーバーと連携しながら処理を実装する設計思想がために、VBScript(WSH)自体は非常にシンプルな言語です。

このOLEを利用して様々な機能をVBScript側で呼び出すことによって、様々な処理を実行させることが可能です。

尚、その言語自体に多くの機能を持たないことで、些細な処理でもオブジェクトを生成して実装する必要があり、コードの記述における手間が増えるところはありますが、自分自身は極力シンプルにして周囲にある機能を利用することが前提という考えは、合理的な設計思想だとも言えます。
 

Visual Basicに類似した構文の言語

現代において「VB」と言えば「VB.NET」ですが、当項で紹介している「Visual Basic」はVisual Basic 6.0 時代の「VB」です。

当記事の冒頭で紹介したWikipediaの記事の抜粋でも明記されていますが、元々VBScriptはVisual Basicに真似て作られたスクリプト言語です。

VB6.0は実行する際にはコンパイルが必要なプログラミング言語であり、VBScriptとは内部の言語仕様が異なる別物のプログラミング言語でありますが、言語の構文などにおいては以下の部分で共通しているものも多いです。

  • 変数の宣言構文
  • 組み込み関数の名前や機能
  • 条件分岐などの制御構文の名前や仕様
  • 配列の仕様

プログラムを書く上での根幹部分の構文の多くが同じであり、VB6.0経験者であれば、VBScriptを書く場合も困ることはありません。
また、VB6.0と構文が類似しているプログラミング言語がもう一つあります。

Microsoft Officeに同梱されており、現代のOA作業の自動化や効率化には欠かせない「VBA(Visual Basic for Applications)」です。
この「VBA」もVB6.0をルーツに持つプログラミング言語であり、VBScriptと同様に構文が非常に似ています。

言語の構文がVB6.0やVBAと類似している点もVBScriptの大きな特徴の一つです。
 
 

プログラミング初心者がまず「VBScript」を学ぶべき理由

当記事の本題です。
現代では、様々なプログラミング言語があり、そのなかでも「VBScript」は注目されることもあまりなく、初心者向けの学習教材やスクールでもVBScriptが取り上げられることはあまりありません。

それでも私がおススメしたい理由を紹介していきます。
 

Windowsパソコンとテキストエディタがあれば始められる

一般的なプログラミング言語を書いたり実行するには、IDE(Integrated Development Environment/統合開発環境)と呼ばれる環境を用意する必要があります。
IDEは個人レベルの利用であれば、基本的に殆どの製品が無償で利用できますが、パソコンに対してIDEをインストールする必要があります。

インストールしたうえで、いくつかの設定が必要になります。
このIDEの導入自体が初心者には手間であり、敷居が高くなる要因の一つです。

また、IDEを利用する場合、プログラミング言語を学ぶとともに、IDEの使い方も併せて学ぶ必要があります。
最近のIDEは非常に多機能であり、そのなかで初心者が必要な機能を取捨選択して覚えていくことは大変です。

また、職場のPCなどでは、ソフトウェアのインストールに対して制限が掛かっており、IDEを自由にインストールできないといった場合もあります。
そうなると、せっかくプログラミング言語を習得しても、それを職場で使えないといった事態も発生します。

VBScriptであれば、古い大昔のWindowsから、最新のWindows11のどの環境でも新しくソフトウェアをインストールすることがなくプログラムを書いたり実行することができます。

プログラムを作り方も、メモ帳にプログラムを書き、ファイルを保存する際に、拡張子を「.vbs」と指定するだけで、そのテキストファイルはVBScriptの実行ファイルになります。
また、プログラムの実行も、拡張子をvbsと指定して保存したファイルをダブルクリックで実行するだけです。

とっても手軽です。

ただ、Windows標準のテキストエディタである「メモ帳」一つでコードが書けると言っても、実際に「メモ帳」で長々とコードを書いていこうとすると、元々プログラムを書く目的のエディタではないため、何の入力支援機能もなく大変です。

よって、何らかの高機能テキストエディタをインストールして、そのテキストエディタを使用してコードを書いていくことを強くおススメします。

尚、この「高機能テキストエディタ」については、様々なソフトが無償で利用できますが、個人的にオススメしたいのは、Microsoftが提供している「VSCode(Visual Studio Code)」です。

過去にVSCodeを使用してVBScriptを書く際に知っておいてほしい設定内容などを当ブログの記事で紹介しています。

興味があればご一読ください。

 

枯れた言語であり言語仕様が変わることがない

ITの世界において、「枯れる」と表現される技術は、必ずしもネガティブなものではありません。
ITの技術は進歩も速く、注目されている技術や利用者の多い技術は頻繁に更新を繰り返し、進化をしていきます。
それは一見すると良いこと感じますが、逆の見方をすれば以下のようなデメリットがあります。

  • 覚えた技術がすぐに陳腐化する。
  • 早すぎる変化に技術の習得が追い付かない。
  • 変更に起因して言語自体の機能が無くなったり不具合や脆弱性が発生する。

つまり、最新のプログラミング言語は、ある程度のレベルまで習得したとしても、その覚えた言語仕様や機能が5年後も同じまま通用するとは限らず、その言語が更新されていくたびに、変更内容を常にキャッチアップして学び続ける必要があり、言語の変更内容によっては、元々使えていた機能が廃止になったり、不具合などでその対応が必要になることもあります。

このような点で言えば、VBScriptは十分に「枯れて」おり、一度習得した言語仕様や機能、構文は、VBScript自体がWindowsに同梱したスクリプト言語として廃止されない限り、ずっと同じように使い続けることができます。

前述しましたが、VBScriptの実行環境であるWSHは、Windows Vistaの頃のバージョンアップを最後に、その後一切変更はされていません。
表示上のバージョン番号が変わっただけです。

また、Windows標準のスクリプト言語としては、VBScriptの後継のような立場としてPowerShellもあり、現在はこのPowerShellを利用するのが望ましいとされています。

このPowerShellは従来のDOSコマンドと同じコマンドがエイリアス(別名)として登録されており、DOSコマンドとも互換性があります。

また、MicrosoftのC#やVB.NETのように、.NET Frameworkのコンポーネント群にアクセスしてそれらの機能を利用することもできます。

ただ、このPowerShellは.NET Frameworkを使って処理を実装しようとすると、ある程度のプログラミング知識が必要になります。

また、新しい言語でもありセキュリティ的な制限も多く、Windows環境上でのバッチ処理において定番のツールである「タスクスケジューラ」では、PowerShellで記述したps1ファイル(PowerShellのスクリプトを記述した実行ファイル)を直接実行できないのも非常に不便です。

その点、WSHは良くも悪くもセキュリティ的な制限の小さいスクリプト実行環境です。
制約が緩いのであれば、当然その機能を使う側としては使いやすいと言えます。
 

構文や言語使用がVBAと似ており同じコードの流用が可能

VBScriptはVB6.0の構文や仕様を真似て作られたスクリプト言語であり、同じようにVB6.0に似たプログラミング言語として、Microsoft Officeで使用できる「VBA」があります。

VBAはExcelを使ったOA事務作業の自動化や効率化には欠かせないプログラミング言語であり、Accessを使った業務アプリケーションの開発でも使われています。
このVBAは、比較的初心者向けのプログラミング言語であり、C#やJavaといった、システム開発会社が業務システムの開発で使うようなプログラミング言語と比較した場合に、初心者でも非常に習得し易い言語です。

よって、VBAを使える人は非常に多いのですが、VBScriptでは、VBAとも構文などが類似しており、VBA経験者がVBscriptを使ったり、逆にVBScript経験者がVBAを使う場合は、言語の違いを意識することなくコードが書けます。

ただ、VBAとVBScriptの構文や言語仕様が完全に同じわけではありません。
幾つかの大きな相違点もあるため、その相違内容も紹介しておきます。

相違点 内容
変数宣言時の型指定 VBScriptでは変数を宣言する際に、型の指定はできないが、VBAでは型を指定が可能。

VBAで型を指定せずに変数を宣言した場合、その変数はVariant型として扱われる。
参照設定の利用有無 VBscriptでは、オブジェクトを生成する場合はCreateObject関数を使い、宣言済みの変数にそのオブジェクトを代入します。
これを「遅延バインディング」と呼びます。
VBAでは、遅延バインディングも使用可能だが、使用予定のあるオブジェクトを、予め「参照設定」で有効にしておくことができます。
これを「事前バインディング」と呼びます。
組み込み関数の種類 VBAが用意している組み込み関数とVBScript(WSH)で用意されている組み込み関数で言えば、VBScriptの方が少ないです。
また、VBScriptで使える関数は、ほぼVBAでも使用可能です。

主だったものだと上記です。

よって、例えばVBScriptやVBAのコードをコピーして双方のコードとして流用しようとした場合、VBScriptからVBAへ流用する場合は、ほぼそのままのコードで動きます。
逆に、VBAからVBScriptに流用しようとした場合は、変数の宣言時の型指定に関する記述を消したり、事前バインディングで実装している処理を、遅延バインディングに書き換える必要があります。
また、一部の組み込み関数はVBScriptには存在しない場合もあり、その考慮も必要になります。

尚、Microsoft DocsのVBScriptの解説ページでは「VBScriptの機能でVBAに含まれていない機能」と「VBAの機能でVBScriptに含まれていない機能」をそれぞれまとめてくれています。
詳しい機能の相違内容はこちらをご確認ください。

尚、前述した「事前バインディング」と「遅延バインディング」は、VBScriptやVBAを習得する場合には、必ず理解しておいてほしい重要な仕組みです。
参考までに、Microsoft Docsの事前バインディングと遅延バインディングを解説した記事のリンクを紹介しておきます。

VBScriptはVBAと言語の構文が類似しており、コードの流用元によってはコピペしたコードでも動くということは、非常にメリットがあります。
VBScriptを習得することで、VBAもある程度書けるようになるということが言えます。

VBAは主に企業内のOA事務作業の自動化や効率化において、広く使われている言語であり、VBScriptの習得をきっかけとしてVBAも併せて学ぶ、又は、VBAの経験を生かしてVBScriptも習得するといった横展開での技術習得が可能になります。

この特徴もVBScriptの大きな魅力の一つだと思います。
 

Windowsの作業自動化処理に特化している

Windowsでは古くから、処理を自動化させる方法として「バッチファイル」があります。

コマンドプロンプト上のコマンドをテキストファイルに記述し、そのファイルの拡張子を「.bat」にして保存します。
そのファイルをダブルクリックなどで実行すると、記述したコマンドが一斉に実効される仕組みです。
「バッチファイル」では、簡単な制御構文や変数も組み込めますが、複雑な処理には対応していません。

VBScriptは、使い勝手の良くなかった「バッチファイル」の後継的な役割も期待されて作られた側面もありました。
その意味ではWindowsの様々な設定や操作の自動化に特化したスクリプト言語でもあります。

では、どの様な処理をVBScriptで実装できるかの例をいくつか紹介していきます。

  • WindowsのOS周りの設定変更処理
  • WindowsのCPU負荷などのリソース状況の取得
  • Windowsのフォルダやファイルの取得や作成
  • Windowsのレジストリの参照や書き込み
  • CSVファイルやテキストファイルの読み込みや書き込み
  • ExcelなどのMicrosoft Office製品の各種操作自動化
  • RDBMSへの接続してレコードセットの取得やSQLの実行
  • DOSコマンドの実行
  • 電子メールの送信
  • Web APIの実行

非常に様々な処理をVBScriptで実装できることが理解していただけたかと思います。

WindowsのOS周りの設定変更やレジストリの書き込み処理をVBScriptで自動化できることで、例えば特別なソフトをインストールすることなく、パソコンのセットアップ作業を自動化、効率化することができます。
WindowsのCPU負荷などのリソース状況を取得できれば、サーバーの監視ツールとしても利用できます。

Windowsのフォルダやファイルを取得できて、CSVファイルへの入出力ができて、Excelなどへの操作をVBScriptから行えることで、一般的なOA事務作業の多くはVBScriptで自動化することが可能です。

RDBMSへADOを使って接続して、SQLを発行してレコードセットを取得したり、データの更新や追加なども行えます。
WIndows標準のスケジューラー機能である「タスクスケジューラ」と連携し、メール送信機能なども組み合わせることで、業務システムで利用される本格的なバッチ処理も作れます。

尚、上記の各機能の大半は、VBScript(WSH)自体ではその機能を持っておらず、VBScriptから各オブジェクトを呼び出して、それらの機能を利用して実装します。

もちろん、最新の本格的なプログラミング言語と比較した場合、出来ることは少ないし経験豊富なプログラマーが効率良く開発できる高度な機能も持っていません。
ただ、プログラミング初心者がプログラミングを学び、それをすぐに実践に活かしていこうとした場合、多機能である必要はなく、上記に挙げた処理が実装できれば十分だったりします。
 

WindowsOSであればどんな環境でもインストール不要で実行可能

VBScriptはWindows OS上でしか動作しませんが、実際世の中の多くのパソコンはWindowsであり、Windowsで動作すれば事足りる場合も多いです。

また、この「WindowsOS」ですが、Windows 10 や Windows 11 といった個人向けOSだけではなく、Windows Server も含まれます。
実行環境が個人用OSだろうが、サーバー用OSだろうが、Windowsであればエディションに関係なく、また新旧に関係なく動作するところも大きなVBScriptの魅力です。

MicrosoftはVBScriptではなくPowerShellを使ってほしいようですが、何かと制約の多いPowerShellと比較するとVBScriptは非常に便利であり、Microsoftが提供するミドルウェアや各種ソフトウェアの内部的な処理でもVBScriptで組まれた処理を実行しているものも多いため、実際に廃止することは難しいと思います。

Windows Serverなどのサーバー系OSでは、その環境内に新しいソフトウェアをインストールすることで、正常に動作していた本来のサービスにも影響を与えて上手く動かなくなったり、動作が不安定になるといったことがあります。
よって、サーバーOSに対しては、極力サービスを提供するうえで必要なミドルウェア以外のソフトウェアをインストールしたくないものです。

VBScriptであれば、特にOSに新しくソフトをインストールする必要もないですし、設定を変えることなく実行できます。
テキストファイルにVBScriptでコードを書いて、そのファイルの拡張子を「.vbs」と指定して保存するだけです。
後はダブルクリックすれば実行されます。

因みに、前述した「VBA」に関しても、当記事で紹介したようにコードは流用できますが、やはりVBAを実行させる場合はMicrosoft Officeがインストールされている必要があり、あくまでOfficeのなかだけでしか実行できません。
VBScriptであれば、当然Officeのなかだけといった制約もありません。

Windows環境内であればいつでもどこでも実行できるこの手軽さは、WindowsOSの標準で利用できるVBScriptならではです。
 

言語仕様がシンプルでわかりやすく初心者向き

プログラミング言語が初心者向きか否かの判断基準として、やはり一番大きいのは、その言語の言語仕様や構文が簡単かどうかです。
その点、VBScriptは自信を持って簡単だと紹介できます。

簡単だと紹介する理由は以下になります。

  • 非オブジェクト指向の手続き型言語であること
  • プロシージャを作らなくても実行できること
  • コンパイル不要のスクリプト言語であること

非オブジェクト指向の手続き型言語

オブジェクト指向型言語では、様々な処理をクラスで実装していきます。
VBScriptでも簡易的なクラスを作れます。

ただ、VBScriptの用途としては、大規模なプログラムを複数人で作るものではなく、ちょっとした処理を自動化するような小さいプログラムを短時間で作る場合が多く、クラスで処理を実装するメリットはあまりありません。

クラスを作らなくても、SubプロシージャやFunctionプロシージャで処理を分割する程度で十分です。

言語仕様的にもクラスの使用を前提とした言語ではありません。

プログラミング初心者がまず難しいと感じるのはクラスの設計や実装です。
クラスを意識しなくてもよい部分は初心者向きだと言えます。

プロシージャの作成も必須ではない

プロシージャとは、機能や用途ごとにプログラムを分割し、その個々のプログラムの塊を指します。
それらのプログラムを必要によって呼び出しながら、全体のプログラムを作っていくのが一般的であり、VBScriptでもプロシージャを作成できます。

VBScriptの場合は、他のVB系のプログラミング言語と同様に、処理結果を戻さない「Subプロシージャ」と、処理結果を返す「Functionプロシージャ」を使い分けながらコードを書いていきます。

ただ、このプロシージャを作らないとプログラムが実行できないわけではなく、プロシージャを作らずに、直接コードを書いても処理は動きます。

例えば、メモ帳を起動し、以下の一行を書いて、そのファイルの拡張子を「.vbs」と指定して保存します。

msgbox "Hello VBScript"

このファイルをダブルクリックで実行すると、メッセージが表示されます。

このような手軽さも、スクリプト言語の特徴です。

コンパイルせずに即実行が可能

スクリプト言語の特徴として、書いたコードのコンパイル処理を必要とせず、すぐに実行できるところがあります。

そもそも、「コンパイル」とは何でしょうか?
「コンパイル」とは、個々のプログラム言語で書かれたコードを、コンピューターが実行できる形式に変換する処理のことです。
この「実行できる形式」とは、例えば拡張子「.exe」のように、ダブルクリックなどで実行や起動できる状態のファイルを指します。
この「変換する処理」を行うのが「コンパイラー」です。

コンパイル処理では、作成されたプログラムコードの誤りなどをチェックしたり、無駄な処理や冗長な処理を最適化しつつ、実行ファイルを作ります。

一般的なプログラミングの常識として、スクリプト言語は実行時に一行ずつコードを解析しながら動作するため処理が遅く、コンパイルを必要とする言語は、実行ファイルが作成された段階でコンピューターが解析することなく実行できる状態に最適化されていることで処理も速いと言われています。
実際に大量のデータを処理するようなプログラムの場合、スクリプト言語は明らかに遅いです。

とは言え、コンパイルが必要な言語では、コードの軽微な修正をしても、実行には負荷の高いコンパイル処理を動かす必要があり、修正を繰り返しながら動作を確認していくといった手法でプログラミングをしようとすると、非常に面倒です。

その点では、VBScriptのような言語であれば、変更したコードの動作を即時で確認することができます。
初めからカチッとしたプログラムを作って、後からまとめてテストをするような従来のウォーターフォール的な開発手法より、微修正を繰り返しながら完成に近づける今どきのアジャイル的な開発手法にはスクリプト言語の方が合っています。

また、コンパイルをして作成された実行ファイルを確認しても、元のプログラムコードを知ることはできません。
コンパイルをすることで元々のプログラムコードはコンピューターが処理できる状態に変換してしまうため、その実行ファイルをバイナリエディタなどで無理やり開いたとしても、元のプログラムコードの解析はほぼ不可能です。

その点でも、VBScriptのようなスクリプト言語であれば、実行ファイルもただのテキストファイルであるため、適当なテキストエディタでそのファイルを開いてあげれば、ソースコードもそのまま読むことができます。

こういった点でも、プログラミング初心者にとってはスクリプト言語のほうが扱いやすいと言えます。
 
 

VBScriptが向いている処理

ここまでVBScriptの特徴やメリットを紹介してきましたが、全てのプログラミング言語において、向いている用途、向いていない用途があります。

もし貴方がウェブアプリケーションや入力画面などがある業務システムを作りたいのであれば、別の言語を検討したほうが良いです。
残念ながら、VBScript単体では画面のあるアプリケーションは作れません。

冒頭でもお伝えした通り、過去にはMicrosoftのASP(Active Server Pages)とMicrosoft製のウェブサーバーであるIISを使用することで、html構文のなかにVBScrptを埋め込んで、動的なウェブアプリケーションを作ることができました。

ただ、現在においてそのような構成のウェブアプリケーションを新しく開発することはほぼありません。

VBScriptが向いている処理や用途は「作業の自動化」です。
例えば、私自身が実際にVBScriptで作成したプログラムでは以下のようなものがあります。

  • データベースと接続してSQLを実行し、取得したデータを決められた時間に特定のフォルダに出力する。
  • 特定のフォルダのファイルを定期的にチェックして、ファイルが存在していたら特定の場所に転送する。
  • データベースのバックアップやサーバーのバックアップ処理の実装やバックアップデータの世代管理。
  • 何らかの条件に適合したら、システム管理者向けに電子メールを送信する。
  • パッケージ製品が提供しているWeb APIを呼び出しデータを受け渡ししてシステム間のデータ連携をする。
  • 情シスとして管理するパソコンの設定作業の自動化や一括設定変更時の配信用スクリプト。

これらはほんの一例ですが、このように「作業の自動化」としての用途で利用しています。

また、作業を自動化しつつ、「無人化」までしようとする場合は、人間が都度vbsファイルをダブルクリックする訳にはいかないため、Windows標準の「タスクスケジューラ」を使用して定期実行させています。

よって、VBScriptを使用して「作業の無人化」を進める場合は、併せてタスクスケジューラの使い方を覚えておくことを強くおススメします。

過去の記事で「タスクスケジューラの使い方」についても紹介しておりますため、良ければ参考にしてください。

 

最後に

今回の記事では、私自身が業務で活用している「VBScript」を、プログラミング初心者におススメしたいプログラミング言語として、VBScriptの特徴やおススメする理由を紹介させていただきました。

プログラミング言語にも流行があり、初心者の人ほどSNSやスクールの宣伝文句などでよく見かける流行りの言語に興味を持ってしまうのは当然です。
しかし、VBScriptのようにあまり目立たないが超実用的な言語もあり、これまでのIT業界で働いてきた経験から、まずこのVBScriptを習得してちょっとした作業の自動化ができるようになってから、別の本格的なプログラミング言語を学ぶといった進め方を強くおススメします。

今回も長々と読んでいただきましてありがとうございました。
それでは皆さまご機嫌よう!