VBEでVBSを快適に作ろう!
ほぼほぼ初となるnoteです。とりま書いてみます!
VBSというスクリプトはご存じでしょうか?知ってますよね。知らない人はググりましょう←
VBSって結構VBAと似てるんです。というか機能としてはVBAの劣化版って感じで、VBSでできることはVBAでほぼ実現できます。その逆は・・・まあExcelの機能使わない純粋なVBAであれば5割くらいは実現できる・・・って感じでしょうか。(テキトーです)
さて、本題に入ります。
Excelなどに搭載されているVBA、これはVBEというエディタ(というか開発環境かな)で作成していきます。んで、これをうまく使ってVBSを作っていこうというのがこの記事の趣旨です。
まずはVBEにて新しいClassを作成します。その名前は「WScript」にしましょう。で、そのClassをデスクトップなどにエクスポートします。「WScript.cls」というファイルができますので、エディタで開いて「Attribute VB_PredeclaredId = False」これを「Attribute VB_PredeclaredId = True」に変更します。んで、VBE上のClassはいったん削除して、今作ったClassをインポートします。
で、同様にして「StdOut」というClassも作ります。
これあれですね、初心者の方はついてこれないですね。まあ気にせず続けます。書いてくうちに上手になってくでしょきっと。
*WScriptクラスの中身
Public StdOut As New StdOut
*StdOutクラスの中身
Sub WriteLine(arg As String)
Debug.Print arg
End Sub
こうしておくと、標準モジュールなどで下記のようにすればVBSとVBAの違いを吸収しつつ快適にデバッグができる!ということが言いたいわけです。
*標準モジュールの中身
Sub main()
WScript.StdOut.WriteLine "Hello, なんちゃってVBS!"
End Sub
これが基本形となりますので、あとは必要そうな機能があれば追加していく感じです。
なお、WriteLineなら問題なく作れますが、Writeというメソッドは予約語になってるため作れません!使わないようにプログラム書けばそれでいいのです!
ではまた!