zzz = 100
MsgBox StringCalc.Eval("zzz >= 50")     的值为假,怎样才能为真呢?因为 zzz >= 50 的值本来是真,但在上式中因为有引号,
所以把zzz看作字符去比较,而不是变量名,"zzz >= 50"是从别的文件中读来的字符串,所以引号去不掉的。MsgBox StringCalc.Eval("zzz >= 50")式子中不去掉引号,
怎样做才能让程序把zzz看作变量名而不是字符串去做比较。
是在VB中做的。

解决方案 »

  1.   

    MsgBox StringCalc.Eval(iif(zzz>=50,true,false))
      

  2.   

    你用的是scriptcontrol吧,eval里的变量zzz和你在程序中的zzz不是同一个变量,你永远得不到你想要的结果!
      

  3.   

    Dim StringCalc   As New ScriptControl
    Dim codestr As String
    StringCalc.Language = "VBScript"
    StringCalc.Reset
    codestr = "sub test() " & vbCrLf & _
            "dim zzz   " & vbCrLf & _
            "zzz=100  " & vbCrLf & _
            "msgbox zzz>50  " & vbCrLf & _
            "end sub"
    StringCalc.AddCode codestr
    StringCalc.Run "test"Set StringCalc = Nothing
      

  4.   

    用的是scriptcontrol,真的就没有办法了吗?
      

  5.   

    用的是scriptcontrol,
    我想要 StringCalc.Eval("zzz >= 50") 的值为真,只zzz>50 的值为真没有用的,
    另外zzz的数据也是从别的文件中读来的,直接写成  "zzz=100  "不行的,
    无论如何先谢谢 zq972 答复我的问题
      

  6.   

    把zq972那句改改不就行了Dim lngValue As Long
    lngValue = 50Dim StringCalc As New ScriptControl
    Dim codestr As StringStringCalc.Language = "VBScript"
    StringCalc.Reset
    codestr = "sub test() " & vbCrLf & _
    "dim zzz " & vbCrLf & _
    "zzz= " & lngValue & vbCrLf & _
    "msgbox zzz>50 " & vbCrLf & _
    "end sub"
    StringCalc.AddCode codestr
    StringCalc.Run "test"Set StringCalc = Nothing
      

  7.   

    msgbox zzz>50的值为真了
    MsgBox 的值还是假,
    我程序中必须用到StringCalc.Eval("zzz >= 50"),只有zzz>50 不行的
      

  8.   

    msgbox zzz>50的值为真了
    MsgBox StringCalc.Eval("zzz >= 50") 的值还是假,
    我程序中必须用到StringCalc.Eval("zzz >= 50"),只有zzz>50 不行的
      

  9.   

    MsgBox StringCalc.Eval("zzz >= 50")
    换为:
    MsgBox StringCalc.Eval(Replace("zzz >= 50", "zzz", zzz))
      

  10.   

    晕,把比较字符串里的zzz换成确定的值不就行了吗。
      

  11.   

    to benyfeifei()
    zzz的数据是从别的文件中读来的,是变量,不能确定
      

  12.   


    MsgBox StringCalc.Eval("zzz>= 50")   -->改为:        MsgBox StringCalc.Eval("" & zzz & " >= 50")
      

  13.   

    zzz的数据是从别的文件中读来的,是变量,不能确定
    ---------------------
    这个变量与你在程序里定义的zzz变量是什么关系?先把这个确定,然后再找方法。
      

  14.   

    to chinsonlin073()
    语法错误
      

  15.   

    to benyfeifei(狒狒)
    zzz >= 50是从文件中读来的字符串,也是变的,也许是zzz <> 50,zzz <= 300什么的
    我想让"zzz >= 50"中的zzz去取从另一文件中读来的数据作比较,例如:
    读来zzz=100
    100 >= 50
    读来zzz=10
    10 >= 50
      

  16.   

    不管比较的方式怎么变,只要“zzz >= 50字符串中“zzz”是一个确定的字符串,就能使用替换的方法。
      

  17.   

    刚刚没注意看,
    楼主,你读出来的字符串,
    到底是变量名ZZZ是确定的,还是“=”是确定的,
    要是知道哪个是确定的,就用哪个去区分并提取相应的值。
      

  18.   

    zzz是确定的,各位能说详细点吗?
      

  19.   

    用读出来的数据替换这个确定的“zzz”字符串,然后使用scriptcontrol脚本控件就可以了。