• ベストアンサー

文字列の再計算(?)

テキストボックスに 3*(8-4) と入力すると12と計算してくれる方法はあるのでしょうか?(俗に言う関数電卓の処理方法です) まだ3項くらいの演算ですが、実際に扱いたい項数はもっと多いので、 場合わけが大変なのです。 もちろん計算できなかった際の処理も必要ではありますが、 実際に計算できる文字式を入力した場合、正しく実行してくれる方法がありましたら、 どなたかご教授いただけないでしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1
cutish
質問者

お礼

返信が遅くなってすみませんでした。 実際にはそのような既成プログラムはないようですが、 自分でいろんな関数が拡張できそうなので、 いろいろ参考にさせていただきたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

Scriptコントロールを使うとか・・・ #ただ、ちょっと古めのコントロールなので、 #ドキュメントとかが、手に入らないかも知れません。 以下はVB6の場合 ---------------------------------- Private Sub Command1_Click() Dim sc As Object Dim f As String Set sc = CreateObject("ScriptControl") sc.language = "VBScript" f = "3*(8-4)" MsgBox sc.eval(f) End Sub ---------------------------------- (https://www.microsoft.com/Japan/msdn/Scripting/navigation.htm?/japan/msdn/scripting/scriptcontrol/scdocs.htm) (http://www.microsoft.com/mind/0799/script/script.asp

cutish
質問者

お礼

変身が遅くなってすみませんでした。 そのようなコントロールがあったのですね。 書き忘れてしまったのですが、最近はVB.netを中心に使っているので、 VB6を使ったときにでも参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 0での割り算

    電卓を作っており、テキストボックスには数字しか入力できないようにしています。そこで、0で割り算をした場合だけテキストボックスに「0で割ることはできません」と表示したいのですが、どのようにしたらよいでしょうか? 計算は計算専用の関数を作って使用しています。 イメージとしてはWindowsの電卓のような感じです。 使ってるのはVB6.0です。

  • マウスで選択した文字列を別の文字列に変える

    「TextBox1.Text」というテキストボックスに適当に文字列を入力して、 マウスで ある部分の文字だけを選択して、 その文字を別の文字を置き換える処理を実行するプログラムを作りたいです。 抽象的すぎるかもしれませんが、 どなたか教えていただきたいです。 よろしくお願いします。

  • 文字列をプログラムコードとして実行する方法

    Flash及びActionScriptの初心者です。 Flashで計算機のようなものを作成したいと思っており、 具体的な作りとしてはユーザに数式を入力してもらい、 回答ボタンで答えが表示されるというものです。 例えば、入力可能なテキストボックスに 「(5+3)*2」と入力しボタンを押下すると「16」が表示されるというようなものです。 以下質問です。 (1)入力された数式を文字列として格納した後に回答を出させる方法には  どのようなものがありますでしょうか。  (四則演算と括弧を対応させた場合の作りが解らないです・・・) (2)javascriptのeval関数の使用で対応可能でしょうか。  getURL、fscommand、ExternalInterfaceについて調べたのですが、  動的に戻り値を受け取る事どころか、  外部からjavascriptを呼び出す事すらできませんでした。 開発環境 FlashLite3.0 ActionScript2.0 情報足りない場合は補足しますので、どうかよろしくお願いします。

    • ベストアンサー
    • Flash
  • 電卓で計算

    20個くらいの数字を計算しなければいけなくて エクセルに一つ一つ入れて、SUM関数で合計額を出したのですが 先輩に「ちゃんと電卓で計算して」と言われました。 理由は「エクセルだと間違えることもあるから」とのことですが 皆さん、こういわれたらどうしますか? 私はおとなしい性格の為、わかりましたと言って、電卓で計算しなおしましたが 今後も同じような処理が必要になるのですが またいちいち電卓で計算しないと思うと憂鬱です。

  • 文字列として認識されている計算式の結果を表示させたい

    エクセルでサイズ等を入力したシートがあるのですが (例)    A1 35*120*150    A2 *8          A3 /2    ⇒ 35*120*150*8/2 (CONCATENATE関数)  ⇒ 315,000      ( ??? ) これらのセルの文字列をつなげて表示する方法は何とか分った(CONCATENATE関数)のですが、この時の実際の計算結果を表示させたいのですが出来ません…方法があるでしょうか? もし解る方があったら教えて下さい。

  • 乗数(対数?)の計算を教えてください。

    乗数(対数?)の計算を教えてください。 4322=1000*(1+X)^30で、Xを求める方法を教えてください。 関数電卓のような特殊な電卓はないので、それが必要な場合はエクセルでの計算方法も教えていただけると助かります。 どうぞよろしくお願い致します。

  • ルートの計算が解りません。

    すいません。ヘルプでみたのですが、いまいち解りません。 またまた急ぎですので よろしくお願いします。 √2.575(2.575-2.4)(2.575-2.4)(2.575-0.35) 答えは、0.419になるはずなんですが、(電卓で計算しました。) エクセルを使って計算する場合、関数の入力はどうすればいいですか? √は、最後の括弧(2.575-0.35)まで入ります?!係ります。 へんな説明ですみません。 よろしくお願いします。

  • Access テキストボックスにある計算式の結果を編集したい

    Access テキストボックスにある計算式の結果を編集したい 初めまして、アクセスの初心者です。質問内容は、テキストボックスにすでに関数による計算式を入れてあるのですが、まれに計算式の結果を編集しなくてはいけない事があります。 テキストボックスに関数の計算式を入れていると編集できないので、なにか良い策がありますでしょうか? ファームの中にサブフォームがあります。 サブフォームの中にテキストボックスが3つあります。 ・枚数 ・部数 ・総枚数 通常は枚数と部数をかけてあげれば、良いのですが、まれに1枚か2枚追加しなければいけません。 この際にはテキストボックスに直接、入力したいのですが、どのようにすれば良いかわかりません。 どなたかご教授いただけますでしょうか?

  • Windowsの電卓で√の計算方法について

    Windowsの電卓で√の計算方法についてですけど、関数電卓をよく知らないのですけど例えば10√2.5だった場合どのボタンを押せばいいのでしょうか?ご教授お願いします。

  • 特定の文字列で計算を止める

    質問させていただきます。 添付画像の「貸金+利息」の列に下記のような関数を入力しております。 =IF($A$1-A3+1>=10,C3*(($A$1-A3+1)*0.001)+C3,C3) 日数が経過する毎に金額が変わっていくのですが、「完了/未納」の列にて「完了」と入力された場合、計算をその時点の金額でストップさせたいのですが、どのような関数を入力すれば良いのでしょうか。 また経過日数も同じようにすることは可能でしょうか。 よろしくお願い致します。