読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

VBScriptとは何か。

<スポンサーリンク>

VBScriptというのは、Visual Basic Scriptの略で、Visual Basicの簡易版プログラミング言語である。
このVBScriptは、WSHというWindowsのスクリプト実行環境で利用することができ、それによってWindows上でVBScriptを使ったバッチ処理を行うことができる。
WSHというのは、Windows Scripting Hostの略である。

WSHには2種類の実行環境がある。
1つはGUI環境で実行するwscript.exe。もう一つは、コンソールで実行するcscript.exeである。
初期設定では、GUIを使って実行するように設定されている。
そのため、.vbsという拡張子で保存されたVBSファイルをダブルクリックするだけでGUIで実行することができる。

VBScriptはVBAを書く時みたいに、コード補完とかエラーを出してくれるエディタはない。

しかし、
vbeditというエディタを使ってみると、けっこうそれっぽいVBScriptの開発環境として使うことができた。

Sublime Textで以下のようなVBScriptを書いてみた。

Option Explicit

Dim result
Dim total

WScript.Echo "1~10の合計を計算します"

result = addOneToTen()

WScript.Echo "1~10の合計は・・・" & result

Function addOneToTen()
  Dim i
  total = 0

  For i = 1 To 10
    total = total + i
  Next

  addOneToTen = total

End Function

で、コード自体は正しいし、vbeditで実行するとうまくいったのに、Sublime Textで書いて保存するとうまくいかない。

なんでかっていうと、VBScriptは文字コードがUTF-8だと日本語をちゃんと認識してくれないから。
だと思う。

秀丸で書き直してShift-JISで保存したらうまくいったわ。

ちなみに、64bitのWindowsで32bitのスクリプト環境を利用する場合は、

C:\Windows\SysWOW64
以下にある、cscript.exeか、wscript.exeを使えばいい。

コンソールでスクリプトを実行するときに、

Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

というロゴが出るんだけど、これを消したいときは、
実行時に

>cscript loop.vbs //nologo
1~10の合計を計算します
1~10の合計は・・・55

みたいに、「//nologo」というスイッチを指定すればいい。

とりあえず、超入門編は以上です。