テキストボックスに、以下のような数式を入れたときに
その数式で実際に計算して、結果を返すようなプログラムを作りたいのですが
「文字列→数式」になるような関数ってないでしょうか?
(ちなみに変数部分の数値は別途、テキストボックスなどで入手します。)
変数0*3.14
変数1−変数2
273-変数3
(変数4+変数5)*2-変数6
1年ほど前に似たような質問に回答した記憶が…。
過去ログ去年の10月「スクリプト」で
検索してみてください。
文字列式を計算するなら
Private Sub Command1_Click()
Dim Sc As Object
Set Sc = CreateObject("ScriptControl")
Sc.Language = "VBScript"
Text1.Text = Sc.Eval("((10+20)*2)\2+30+20-50") '=30
Set Sc = Nothing
End Sub
プロジェクト→コンポーネント→Microsoft Script Control 1.0 にチェックを
入れて ScriptControl をフォームに貼り付けて下さい。
見つからなければ VB6.0 のCDからインストールして下さい。
回答ありがとうございました。
実際はもうちょい複雑なのですが、早速試してみます。
入力した文字列を直接計算したいのならそういうクラスがあります。
http://www.biwa.ne.jp/~y-koyama/soft/DCM.html
これです。改造すれば数式も出力できます。
蜻蛉さんに教えていただいたクラスをヒントにして、
無事に解決できました。
有難うございました。
ツイート | ![]() |