見出し画像

VBScriptは死なない、ただ消え去るのみ

VBScriptは徐々にWindowsから姿を消していこうとしています。いよいよそういった道筋がつけられてきたのだなと感じています。

VBScript

わたしの投稿するマガジンにも「WSHがお好きでしょ」というものがありますが、WindowsでスクリプティングしようとするとVBScriptのお世話になる時代が非常に長くありました。もちろん現在でもコマンドプロンプトで動作するBATを利用することも多いのですが、それはそれで微妙な動作をすることもあって、なんやかんやでVBScriptを使うことになります。

文法はVisualBasicに近く、しかしVisual Basicではありません。Microsoft Officeの自動化に使われるVBA(Visual Basic for Application)にも近いのですが、全然違います。また独自な路線をゆくもので、わたしも最初に使った時は戸惑ったものでした。それでも、メモ帳さえあれば記述することができて、Windowsに標準搭載されたスクリプトエンジンによって動作するため、何かと便利な代物でした。

現代のWindowsスクリプティング

LinuxやmacOSではもはやシェルを利用する方が自然です。なのに、Windowsではそうなっていません。これは明らかに開発者以外には不要なものだと捉えているから、とわたしは勝手にそう思っています。できるだけそのようなものから遠ざけておき、何も考えずにそうしたスクリプトが発動してしまうのを避けようという思想からきているのでしょう。

このため、WindowsにはシェルではなくPowerShellが装備されています。「Power」と付くくらいです、権力を持ってWindowsを操作するためのものです。気軽な感じは一切ありません。過去の悲しい事故を防ぐために、あえて重々しい装備に変えたのだと思います。

いまWindowsでスクリプトを書くとしたら、Pythonを採用することが多いのではないでしょうか。他のスクリプト系プログラミング言語に比較しても、圧倒的にインストールが簡単かつライブラリも豊富、ウェブに情報も豊富、書籍も所狭しと並んでいます。正直、わたしもPowerShellの電子書籍を公開しているのですが、常用するのはPythonだったりします。起動が早く、仮想環境的なものを用意すればライブラリに汚染されにくく、そしてテキストエディタでかき捨てができる。VBScriptよりも圧倒的に書きやすく、しかも情報もライブラリも豊富にあるのです。

Python

ではWindowsにPythonを標準装備しておけば良いのではないか、と思いますよね。わたしも数年前は思っていました。いちいちインストールせずとも、Pythonの生みの親がMicrosoftへジョインしたこともありますし、標準でインストールされていれば便利ではないかと。

しかし、わたしたちのような開発者でないものにとって便利ということは、悪意のある方々にとっても非常に便利だということです。VBScriptはメールクライアントやブラウザなどでも動作していました。このため、以前は悪意ある方々はVBScriptを通じてさまざまな攻撃を仕掛けていました。標準装備するにはかなり慎重にならねばならなくなっていたのです。

iPadにはこうしたスクリプト環境は含まれていません。標的になりやすいため、意図的にこうした環境を含めないようにしているのだろうと思います。当然、官公庁や多くの企業で利用されているWindowsは圧倒的な数が導入されていることから、標的にしやすいのです。VBScriptは官公庁や企業で日常的に利用されているソフトウェアで動作するようでは、狙ってくださいといっているようなものです。こうした歴史を見るに、PythonはWindowsに標準搭載されるべきではない、と思います。

最後に

会社員時代にはとてもとてもお世話になったVBScriptですが、そろそろお別れする時期が近づいているのだと思います。もうノスタルジックな気持ちで使うようなものでもないでしょう。自動化をするのであれば、ローコードな製品を使い、自分だけが知っているマクロを使って業務を遂行するようなことを無くしていかねばならないです。
そうは言いましても、まだまだ現役のような気がするのは気のせいでしょうか。

この記事が気に入ったらサポートをしてみませんか?

ピックアップされています

なるーらぼブログ

  • 33本

コメント

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。
VBScriptは死なない、ただ消え去るのみ|なるーらぼ
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1