EVALで計算

EVALをいまいち理解できずにいるのだけれど、計算式の答えも返してくるという事がわかった。
↓式が記入されたファイルを

123*349
999*(33+23)
222*(44/3)

↓このvbsファイルにD&Dすれば

option explicit
on error resume next
dim sfo, ofile, wfile
dim fpath, str, i
set sfo = createobject("scripting.filesystemobject")
fpath = wscript.arguments.item(0)
set ofile = sfo.opentextfile(fpath)
    if err.number = 0 then
        str = split(ofile.readall, vbnewline)
            set wfile = sfo.opentextfile(fpath, 2)
            for i = 0 to ubound(str)
                wfile.write(str(i) & "=" & eval(str(i)) & vbcrlf)
            next
            wfile.close
            msgbox "終了"
    end if
set sfo = nothing
set ofile = nothing
set wfile = nothing

↓答えが記入されたファイルに変換される。

123*349=42927
999*(33+23)=55944
222*(44/3)=3256

子供の宿題には役立ちそうだ。


代入演算子の場合は"execute"を使うようだ。

a = 1
msgbox a '1と表示

execute "a = 2"
msgbox a '2と表示

そういえばUWSCのヘルプにもそれっぽい記述があった。
UWSCの場合、代入演算子の場合は":="にすればいいとある。
理解していたようで、やはり理解していなかったのだが
これで理解出来た気がする。