VBScriptやVBAは今なお根強く使われ続けています。しかし進化はすでに止まっており、提供される関数なども古い形式のものが多くなっています。もっとモダンな開発スタイルが欲しい方も多いでしょう。 そんな方にお勧めなのがphp.vbsです。VBScriptやVBAの中でPHP風の関数が使えるようになります。

php.vbsの使い方

一例です。array_change_key_caseを実装した例です。

Const CASE_UPPER = 1
Const CASE_LOWER = 0
Function array_change_key_case(ByRef mObj, flag)

    if flag <> CASE_UPPER and flag <> CASE_LOWER then Exit Function
    if Not isObject(mObj) Then Exit Function

    Dim cnt,i

    arykey = mObj.Keys
    aryval = mObj.Items
    cnt    = mObj.Count -1
    mObj.RemoveAll

    Select Case flag
    Case CASE_UPPER

        For i = 0 to cnt
            mObj.Add Ucase(arykey(i)), aryval(i)
        Next

    Case CASE_LOWER

        For i = 0 to cnt
            mObj.Add Lcase(arykey(i)), aryval(i)
        Next

    End Select

End Function

[]なんて関数もあります。

Sub [](ByRef mAry, ByVal mVal)

    If IsArray(mAry) Then
        Dim counter : counter = UBound(mAry) + 1
        ReDim Preserve mAry(counter)
        mAry(counter) = mVal
    Else
        mAry = Array(mVal)
    End If

End Sub

php.vbsでは200を越えるPHPの関数がVBScriptで実装されています。php.vbsを使えばPHPで培った知識を使って分かりやすいプログラミングができるでしょう。関数を使ってコードを短くできれば、メンテナンスしやすいツールができあがるでしょう。

php.vbsはVBScript/VBA用のオープンソース・ソフトウェア(MIT License)です。

VBScriptやVBAの中でPHP風の処理を行う便利スクリプト

zeirishin/phpvbs: php program for “Classic ASP” and “VBScript”

  • 2018年01月15日 リンク修正