[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 broly 于 2011-7-10 19:34 编辑

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

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


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

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

样写
  1. Set 语句
  2. 将对象引用赋给一个variable或property,或者将对象引用与事件关联。
复制代码
1

评分人数

---学无止境---

TOP

根据你的意思,应该这样写:
  1. Dim expression,true_value,false_value,strReturn
  2. expression = 2
  3. true_value = "1+1=2"
  4. false_value = "1+1≠2"
  5. strReturn = IIf("expression = 2",true_value,false_value)
  6. MsgBox strReturn
  7. Function IIf(expr, truepart, falsepart)
  8.   If( Eval(expr) ) Then
  9.     IIf = truepart
  10.   Else
  11.     IIf = falsepart
  12.   End If
  13. End Function
复制代码
---学无止境---

TOP

1

评分人数

---学无止境---

TOP

返回列表