前提:1、用户在文本框中输入公式,公式中仅包含3类元素:长、宽、高, 运算符号仅有+、-、*、/
2、长、宽、高的数据为变量A、B、C
3、根据用户输入的公式(如:2*长+1.5*高-宽-长),由程序计算出公式的结果要求:
1、用户能够任意使用长、宽、高和四个运算符号组合自己的公式
2、程序根据用户的公式,直接结算出来结果本人是个技校毕业的苦孩子,碰到这个问题,一点办法都没有,求求个位高人给各出路了,谢谢大家了!!!!

解决方案 »

  1.   

    '如果你不讨厌用控件,也可使用Script Control来处理
    '以下我介绍另一种方法,用VBA中的EbExecuteLine 吧Option ExplicitPrivate Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Unknownn1 As Long, ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As LongPublic Function ExecuteLine(sCode As String, Optional fCheckOnly As Boolean) As Boolean
        ExecuteLine = EbExecuteLine(StrPtr(sCode), 0&, 0&, Abs(fCheckOnly)) = 0
    End FunctionPrivate Sub Command1_Click()
        Dim strFormula As String
        '定义变量
        ExecuteLine "Dim A As Single"
        ExecuteLine "Dim B As Single"
        ExecuteLine "Dim C As Single"
        
        '赋变量值
        ExecuteLine "A=20"
        ExecuteLine "B=10"
        ExecuteLine "C=5"
        
        strFormula = "2*A+1.5*C-B-A"
        ExecuteLine "debug.print " & strFormula  '执行公式,比如A=A+1等End Sub
      

  2.   

    我的天。我大概看懂代码了。怎么会。这么复杂的。
    我看过Script Control的代码,很简单,可是我的代码中不能使用控件。因为我是在access2003里面编,那里面没有这个控件。
    不过无论如何,谢谢winehero(编程人生)
      

  3.   

    上面不是说得很清楚了吗?我这代码没有使用Script Control或其他任何控件。
    而是使用VBA.dll中的EbExecuteLine 方法而已。事实上也复杂,仅仅简单
    调用该方法而已。