



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Sub 过程Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。下面的 Sub 过程使用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提示用户输入信息。然后显示根据这些信息计算的结果。计算由使用 VBScript 创建的 Function 过程完成。此过程在以下讨论之后演示。Sub ConvertTemp() temp = InputBox(请输入华氏温度。, 1) MsgBox 温度为 & Celsius(temp) & 摄氏度。End SubFunction 过程Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。在下面的示例中,Celsius 函数将华氏度换算为摄氏度。Sub 过程 ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返回到调用过程并显示在消息框中。Sub ConvertTemp() temp = InputBox(请输入华氏温度。, 1) MsgBox 温度为 & Celsius(temp) & 摄氏度。End SubFunction Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9End Function过程的数据进出给过程传递数据的途径是使用参数。参数被作为要传递给过程的数据的占位符。参数名可以是任何有效的变量名。使用 Sub 语句或 Function 语句创建过程时,过程名之后必须紧跟括号。括号中包含所有参数,参数间用逗号分隔。例如,在下面的示例中,fDegrees 是传递给 Celsius 函数的值的占位符:Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9End Function要从过程获取数据,必须使用 Function 过程。请记住,Function 过程可以返回值;Sub 过程不返回值。在代码中使用 Sub 和 Function 过程调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。例如:Temp = Celsius(fDegrees)或 MsgBox 温度为 & Celsius(fDegrees) & 摄氏度。调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。下面的示例显示了调用 MyProc 过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。Call MyProc(firstarg, secondarg)MyProc firstarg, secondarg请注意当不使用 Call 语句进行调用时,括号被省略。声明 Sub 过程的名称、参数以及构成其主体的代码。Public Default | Private Sub name (arglist) statements Exit Sub statementsEnd Sub参数Public 表示 Sub 过程可被所有脚本中的所有其他过程访问。 Default 只与 类块中的Public 关键字连用,用来表示 Sub 过程是类的默认方法。如果在类中指定了不止一个Default过程,就会出错。 Private 表示 Sub 过程只可被声明该过程的脚本中的其他过程访问。 name Sub 的名称,遵循标准变量命名规则。 arglist 代表在调用时要传递给 Sub 过程的参数的变量列表。用逗号隔开多个变量。 statements 在 Sub 过程主体内所执行的任何语句组。 arglist 参数包含下列语法和部分:ByVal | ByRef varname( )参数ByVal 表示该参数是按值传递的。 ByRef 表示该参数按引用传递。 varname 代表参数的变量名称,遵循标准变量命名规则。 说明如没有显式地指定使用 Public 或 Private,则 Sub 过程默认为公用,即它们对于脚本中的所有其他过程都是可见的。Sub 过程中局部变量的值在调用过程中不被保留。不能在任何其他过程(例如,Function 或 Property Get)中定义 Sub 过程。使用 Exit Sub 语句可以立即从 Sub 过程中退出。程序继续执行调用 Sub 过程的语句之后的语句。可以在 Sub 过程中任意位置出现任意个 Exit Sub 语句。与 Function 过程相似之处是:Sub 过程是一个可以获取参数,执行一系列语句以及可改变其参数的值的独立过程。而与 Function 过程不同之处是:Function 过程可以返回值,而 Sub 过程不能用于表达式中。可以使用过程名并跟随相应的参数列表来调用 Sub 过程。关于如何调用 Sub 过程的详细说明信息,请参阅 Call 语句。警告 Sub 过程可以是递归的,即该过程可以调用自己来完成某个给定的任务。但是递归可能会导致堆栈溢出。在 Sub 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)总是局部变量。对于那些没有在过程中显式声明的变量也是局部的,除非在该过程外更高级别的位置显式地声明它们。警告 过程可以使用没有在过程内显式声明的变量,但只要有任何 script 级定义的名称与之同名,就会产生名称冲突。如果过程中引用的未声明的变量与其他的过程、常数或变量的名称相同,则会认为过程引用的是脚本级的名称。要避免这类冲突,请使用 Option Explicit 语句可强制显式声明变量。声明 Function 过程的名称、参数以及构成其主体的代码。Public Default| Private Function name ( arglist)statementsname = expressionExit Function statementsname = expressionEnd Function 参数Public 表示 Function 过程可被所有脚本中的所有其他过程访问。 Default 只与 Class 块中的 Public 关键字一起使用来表示 Function 过程是类的默认方法。如果在一个类中指定了不止一个 Default 过程,就有错误发生。 Private 表示 Function 过程只可被声明它的脚本中的其他过程访问或者如果函数是一个数据类,那么 Function 过程只能被该类中的其他过程访问。 name Function 的名称,遵循标准的变量命名规则。 arglist 代表调用时要传递给 Function 过程的参数的变量列表。用逗号隔开多个变量。 statements 在 Function 过程的主体中执行的任意语句组。 expression Function 的返回值。 arglist 参数包含下列语法和部分:ByVal | ByRef varname( )参数ByVal 表示该参数是按值方式传递的。 ByRef 表示该参数按引用方式传递。 varname 代表参数变量的名称;遵循标准的变量命名规则。 说明如没有显式指定使用 Public 或 Private,则 Function 过程默认为公用,即它们对于脚本中的所有其他过程是可见的。Function 中局部变量的值在对过程的调用中不被保留。不能在任何其他过程(例如,Sub 或 Property Get)中定义 Function 过程。使用 Exit Function 语句可以从 Function 过程中立即退出。程序继续执行调用 Function 过程的语句之后的语句。可在 Function 过程的任何位置出现任意个 Exit Function 语句。与 Sub 过程类似,Function 过程是可以获取参数、执行一系列语句并改变其参数值的独立过程。与 Sub 过程的不同之处是:当要使用由函数返回的值时,可以在表达式的右边使用 Function 过程,这与内部函数的使用方式一样,例如 Sqr、Cos 或 Chr。在表达式中,可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用 Function 过程。有关调用 Function 过程的详细信息,请参阅 Call 语句。警告 Function 过程可以是递归的,即该过程可以调用自身以完成某个给定的任务。但是,递归可能会导致堆栈溢出。要从函数返回一个值,只需将值赋给函数名。在过程的任意位置都可以出现任意个这样的赋值。如果没有给 name 赋值, 则过程将返回一个默认值:数值函数返回 0,字符串函数返回零长度字符串 ()。如果在 Function 中没有对象引用被指定给 name(使用 Set),则返回对象引用的函数将返回 Nothing。下面的样例说明如何给一个名为 BinarySearch 的函数赋返回值。在此样例中,将 False 赋给了该函数名,表示没有找到某个值。Function BinarySearch(. . .) . . . 未找到该值。返回 False 值。 If lower upper Then BinarySearch = False Exit Function End If . . .End Function在 Function 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)总是过程的局部变量。被使用但没有在过程中显式声明的变量也是局部变量,除非在该过程外更高级别的位置显
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能仓储机器人协同作业技术创新在仓储管理中的数据驱动决策
- 编制人员考试题目及答案
- 2025年输血科三基三严考试试题及答案
- 中考考试题目及答案解析
- 网络安全培训开班仪式课件
- 推文的教学课件
- 窦神老师教学课件
- 秋天 教学课件
- 幼儿安全培训案例课件
- 保洁教学课件
- 乡镇综合行政执法队队长试用期满转正工作总结
- 2025天津医科大学眼科医院第三批招聘1人备考考试试题及答案解析
- 2025年法院书记员招聘考试笔试试题含答案
- CPK、PPK和SPC(X-R控制图)模板
- 汉诺塔课件教学课件
- 2025年二级建造师考试施工管理真题及答案
- 穿线施工方案(3篇)
- 光伏发电运行维护定期巡视检查项目和周期
- 特种设备(锅炉、压力容器)培训考试试题及答案
- 2025年北京市高考英语试卷真题(含答案解析)
- 医务科依法执业自查表
评论
0/150
提交评论