No.1
- 回答日時:
その入力される文字は、”12+12"の様な式なのでしょうか? それとも、"A+B+C"の様な変数を含んだ式なのでしょうか?
まぁどの道、前者でも後者でも、入力された文字列を、解析して計算するしかなく、すごく厄介です。
文字列を、数字部分と計算記号部分に分解して、それを演算子の優先順位で計算してあげるればOKです。
確か、そういった市販のOCXがあったの思うので、自身が内とか急いでいるって事なら、そのOCXの購入を考えてみるのも良いと思います
No.2
- 回答日時:
テキストBOXに入力された式の結果を求めて
その値を変数として持ちたいのでしょうか?
ちょっと変な方法ですが参考になるでしょうか?
○テキストボックスを2つ用意しておいて(txt1、txt2)、
ボタンがクリックされるとtxt1に入力された数式をtxt2
のコントロールソースに入れます。
するとtxt2にはtxt1の数式の結果が入ります。
その後にtxt2を変数(atai)に格納する・・・。
ataiにはtxt1の数式の結果がセットされるという
感じです。
Private Sub ボタン_Click()
Dim atai As Integer
txt2.ControlSource = "=" & txt1
atai = txt2
End Sub
これしか浮かびませんでした。
見当違いだったらすみません。
この回答への補足
お世話になります。
VB5.0を使っているのですが、「ControlSource」がないのです。
実行すると、この部分が色の反転でエラーになります。
どこがいけないのか教えてください。
よろしくお願い致します。
No.3
- 回答日時:
2つほど思い付いたのですが、
1.Oracleを利用する
RDBのOracleが使用できるのであれば、Oracleに計算させる
Select テキストボックスに入力された計算式 From Dual
の形式のSELECT文をoracleに投げて計算結果を得ます。
2.ScriptControlを利用する。
VBScriptやJScriptには、計算式を評価して結果を返す関数がありますので、これを
利用しようと言うものです。
VBScriptやJScriptを利用するには、WSHが利用できないといけません。下記のプロ
グラムをVersion.vbsと言うテキストファイルで保存して、エクスプローラーでダブ
ルクリックしてください。
WScript.Echo "WSHのバージョンは" & WScript.version
メッセージボックスが出て、バージョンが表示できればOKです。ただし、動作しなかっ
た場合やバージョンが5.0未満の場合は、WSHをダウンロードしてインストールする必要
があります。(5.0未満ではEval関数がない)
WSHは下記から取得できます。
http://www.microsoft.com/msdownload/vbscript/scr …
次に、ScriptControlをダウンロードします。
http://www.microsoft.com/Japan/Developer/Scripti …
登録が必要ですが、無料です。
これで、やっとVBから使用できます。
VBのメニュー[プロジェクト]-[コンポーネントの追加]で、Microsoft Script Control
を追加します。
フォームにはりつけて使用する場合は、
Private Sub Command1_Click()
Text2.Text = ScriptControl1.Eval(Text1.Text)
End Sub
のようにすれば、OKです。言語をJScriptで実行したい場合は、ScriptControlの
プロパティをJScriptにしてください。
フォームにはりつけずに使用する場合は下記のようになります。
Private Sub Command1_Click()
Dim SC As Object
Set SC = CreateObject("ScriptControl")
SC.Language = "VBScript"
Text2.Text = SC.Eval(Text1.Text)
End Sub
WSHやScriptContorolの情報は下記を参照してください。
http://www.microsoft.com/Japan/Developer/Scripti …
なお、VBScriptやJScriptのかわりに最近話題の言語Rubyでも、実行することが出来
ます。
http://www.geocities.co.jp/SiliconValley-PaloAlt …
上記のURLからActiveScriptRubyを取得して、インストールし、上記のプログラムの
LanguageをRubyScriptとするとRubyにより実行されます。
また、Eval関数の例が下記のページに載っておりますので紹介しておきます。
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/99 …
No.4ベストアンサー
- 回答日時:
QNo.85326で同じ質問をされたのですね。
http://www.okweb.ne.jp/kotaeru.php3?q=85326
こちらで、補足されたほうがいいと思うのですが。
85326の質問を見ると変数を使用したいのですね。そうすると、ExecuteStatementを使用する必要があります。先ほどの回答のように、Script Controlで、VBScriptを指定して、下記のように使用します。
Private Sub Command1_Click()
Dim Result
ScriptControl1.ExecuteStatement (" x = 10 ")
ScriptControl1.ExecuteStatement (Text1.Text)
Result = ScriptControl1.Eval(" y ")
Text2.Text = Result
End Sub
テキストボックスText1に、y = x * 2 が入力された場合
x = 10
y = x * 2
が実行されたのと同じになり、
Eval("y")で、変数yの値が取り出されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
EXCELなどで「返す」という表現
-
CとFORTRANの計算速度はどちら...
-
C++ でファイルを消す関数(??)
-
バッチファイルでウインドウを...
-
Javaでのある数の小数点乗に...
-
機械の扱える最も0に近い実数は?
-
連立一次方程式を解くプログラム
-
C言語で、べき乗の計算をするプ...
-
連立方程式を解くプログラムを...
-
c言語でsinx=0(0<x<5)をニュー...
-
Excel VBAの残業時間の合計計算...
-
変化させるセルが変化しない
-
コピーマクロを「値のみコピー...
-
SNRの計算の仕方
-
四則演算プログラム(入力式の...
-
剰余の計算方法
-
引き放し法による除算アルゴリ...
-
科学計算
-
C言語で、べき乗の計算方法につ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
バッチファイルでウインドウを...
-
変化させるセルが変化しない
-
EXCELなどで「返す」という表現
-
傾いた四角形内の範囲の条件式
-
エクセルで特定のセルのみを任...
-
CとFORTRANの計算速度はどちら...
-
Visual C++でdebugとreleaseで...
-
モジュラス103の計算とは何でし...
-
なぜオーバーフローになるので...
-
VB6で正確なミリ秒を計測したい...
-
VBでReplace
-
引き放し法による除算アルゴリ...
-
matlabで計算終了
-
CRC8を教えてください
-
VBAで関数をつくる
-
Excel VBAの残業時間の合計計算...
-
等高線を計算したい
おすすめ情報