【2007】知识是需要沉淀的; 思想是在不断学习,磨练中成熟的; 技术是在创新中开拓的…………… 【2007】不经历风雨,怎能见彩虹,没有人能随随便便成功。加油!

VBS_Sub&Function

上一篇 / 下一篇  2010-02-06 23:33:50 / 个人分类:知识积累

&VI8NUD;i0在 VBScript. 中,过程被分为两类:Sub 过程和 Function 过程。51Testing软件测试网8L Xzu)nJU] Rr0X T
Sub 过程51Testing软件测试网`Jh;L4\k2O4QlO
Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript. 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。51Testing软件测试网+y E UuW,yln_
下面的 Sub 过程使用两个固有的(或内置的)VBScript. 函数,即 MsgBox 和 InputBox,来提示用户输入信息。然后显示根据这些信息计算的结果。计算由使用 VBScript. 创建的 Function 过程完成。此过程在以下讨论之后演示。51Testing软件测试网*?|6sK1W

51Testing软件测试网7t%R2WjKj$\L

 Sub ConvertTemp()
I [Arf+k^J0    temp = InputBox("请输入华氏温度。", 1)51Testing软件测试网6L ZO@F[J,]
    MsgBox "温度为 " & Celsius(temp) & " 摄氏度。"51Testing软件测试网$Tvdo A^h3O
 End Sub51Testing软件测试网N%o/m+nW;gq&X;r'x/w

O7Z.k#cO2N9m~!? }:L9[0Function 过程
2eW'l ~A0m j0Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript. 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。
^7f _K,`1K0Qz u+Q2B0在下面的示例中,Celsius 函数将华氏度换算为摄氏度。Sub 过程 ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返回到调用过程并显示在消息框中。

/]` dz nR3{ Y051Testing软件测试网5OO,GN:PS

 Sub ConvertTemp()
+x]Wea0     temp = InputBox("请输入华氏温度。", 1)51Testing软件测试网a T;Db G^;ti"{)a
     MsgBox "温度为 " & Celsius(temp) & " 摄氏度。"51Testing软件测试网0m#LB7t5A \P
 End Sub51Testing软件测试网hoH fCdG;`![Rk

51Testing软件测试网mh'n_YJ["q1g QMB

 Function Celsius(fDegrees)51Testing软件测试网z7r1TOeaVm2g6ag,f
     Celsius = (fDegrees - 32) * 5 / 9
6Ls(^~1A1jJDI{r0 End Function51Testing软件测试网 []N Pa"U:K

Y B*B*h$F*j7?0过程的数据进出
^'`hLL0给过程传递数据的途径是使用参数。参数被作为要传递给过程的数据的占位符。参数名可以是任何有效的变量名。使用 Sub 语句或 Function 语句创建过程时,过程名之后必须紧跟括号。括号中包含所有参数,参数间用逗号分隔。例如,在下面的示例中,fDegrees 是传递给 Celsius 函数的值的占位符:51Testing软件测试网 u:p3@.]Q
 Function Celsius(fDegrees)
'ZS!m \jT6O0    Celsius = (fDegrees - 32) * 5 / 9
7j\V5A0s-Lh2p"x0 End Function

tU$zXsS051Testing软件测试网$P8q/V"s@ D'@3x)DQy5s!e j

要从过程获取数据,必须使用 Function 过程。请记住,Function 过程可以返回值;Sub 过程不返回值。
(o?&Y8M8iNP X0在代码中使用 Sub 和 Function 过程
OM!a9}!D%f0调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。例如:51Testing软件测试网N+igJ;r8dE

;[lvy C,k&z0 Temp = Celsius(fDegrees)
j)kW s}3}l+d0
C-J5Qe(FI{0 MsgBox "温度为 " & Celsius(fDegrees) & " 摄氏度。"51Testing软件测试网 @+N|$w%?`g m-G

3]9TL/TX0~T*Q0
,r I;?0u:z S6G G0调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。51Testing软件测试网(W DF2I7A`8W k
下面的示例显示了调用 MyProc 过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。

9rd lf,v051Testing软件测试网v'|Q$j5U*hpp

 Call MyProc(firstarg, secondarg)51Testing软件测试网d2o/C{{ ?g
 MyProc firstarg, secondarg51Testing软件测试网'OBv!D*o5?K

51Testing软件测试网2L(XF,I8F o

请注意当不使用 Call 语句进行调用时,括号被省略。51Testing软件测试网 Sf;a Z+~


TAG: function vbs VBS Sub Function

我的幸运石 引用 删除 xingyunshi   /   2011-07-07 10:37:22
3
 

评分:0

我来说两句

Open Toolbar