見出し画像

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というメソッドは予約語になってるため作れません!使わないようにプログラム書けばそれでいいのです!

ではまた!

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