返回列表 发帖
本帖最后由 broly 于 2011-7-10 19:34 编辑

我用自己的话给你解释VBS的函数。
首先看看VBS参考手册的定义:
Function 语句
声明 Function 过程的名称、参数以及构成其主体的代码。
[Public [Default]| Private] Function name [(
  arglist
)]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function COPY
Function前面的语句是可选的,这些关键字涉及的知识是“作用域”。由于VBS一般写在一个文件中,

所以这个可选语句对于初学者可以暂时不用理解。


看下面的例子:
Dim expression,true_value,false_value,strReturn
expression = 1 + 1
true_value = "1+1=2"
false_value = "1+1≠2"
strReturn = IIf(expression,true_value,false_value)
MsgBox strReturn
Function IIf(expr, truepart, falsepart)
  If(expr) Then
    IIf = truepart
  Else
    IIf = falsepart
  End If
End FunctionCOPY
函数IIF:
Function IIf(expr, truepart, falsepart)
  If(expr) Then
    IIf = truepart
  Else
    IIf = falsepart
  End If
End FunctionCOPY
函数的名称其实相当于一个函数内已经被定义的变量,即隐含了 "Dim IIf"
而这个变量的值就是这个函数的返回值,你给这个变量复制什么,返回值就是什么。

至于函数的调用,直接写函数名称和参数就可以了,不用 set 。里面是写变量或者值,不要“a=5”这

样写
Set 语句
将对象引用赋给一个variable或property,或者将对象引用与事件关联。COPY
1

评分人数

---学无止境---

TOP

根据你的意思,应该这样写:
Dim expression,true_value,false_value,strReturn
expression = 2
true_value = "1+1=2"
false_value = "1+1≠2"
strReturn = IIf("expression = 2",true_value,false_value)
MsgBox strReturn
Function IIf(expr, truepart, falsepart)
  If( Eval(expr) ) Then
    IIf = truepart
  Else
    IIf = falsepart
  End If
End FunctionCOPY
---学无止境---

TOP

1

评分人数

---学无止境---

TOP

返回列表