字符串"10*20*30",用那个函数让他计算为6000? dim x x="10*20*30" debug.print eval(x) 'debug.print Evaluate(x) '以前版本 |
eval帮助如下: Eval 函数 使用 Eval 函数能够计算表达式的值,结果是文本字符串或数值。 您可以构造一个字符串然后把它传给 Eval 函数,就像字符串是一个真正的表达式一样。Eval 函数将计算字符串表达式的值并返回该值。例如,Eval("1 + 1") 返回 2 。 如果传给 Eval 函数的字符串包含一个函数的名称,Eval 函数会返回该函数的返回值。例如,Eval("Chr$(65)") 返回 "A"。 语法 Eval(stringexpr) stringexpr 参数是一个表达式,该表达式的值为一个字母数字文本字符串。例如,stringexpr 可以是一个返回字符串或数值的函数,或是对窗体上的控件的引用。stringexpr 参数的值必须是字符串或数值,而不能是 Microsoft Access 对象。 注意 如果把函数名传给 Eval 函数,则必须在 stringexpr 参数中的函数名后加上括号。例如: ' ShowNames 是用户自定义函数。 Debug.Print Eval("ShowNames()") Debug.Print Eval("StrComp(""Joe"",""joe"", 1)") Debug.Print Eval("Date()") 说明 您可以在窗体或报表、宏或模块中的计算控件使用 Eval 函数。Eval 函数将返回一个字符串或数值类型的 Variant。 stringexpr 参数必须是一个以字符串存储的表达式。如果传给 Eval 函数的字符串不包括数值表达式或函数名称而仅仅是一个简单的文本字符串,将会出现运行错误。例如,Eval("Smith") 就会产生错误。 使用 Eval 函数可决定保存在控件中的 Value 的属性值。下面的例子传给 Eval 函数一个包含对控件的完整引用的字符串,然后在对话框中显示该控件的当前值。 Dim ctl As Control, strCtl As String Set ctl = Forms!Employees!LastName strCtl = "Forms!Employees!LastName" MsgBox ("The current value of " & ctl.Name & " is " & Eval(strCtl)) 在 Eval 函数中可以使用通常在 Visual Basic 中不能使用的表达式运算符。例如,您不能在代码中直接使用 SQL 运算符 Between...And 或 In,但是在传给 Eval 函数的表达式中可以使用它们。 下面的例子用于确定“订单”窗体上的“货主地区”控件的值是否为几个特定的州缩写名称中的一个。如果字段中包含了其中一个缩写名称,intState 的值将为 True(-1)。请注意在例子中使用了单引号(') 在字符串中包含另一个字符串。 Dim intState As Integer intState = Eval("Forms!Orders!ShipRegion In " _ & "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")
|