- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.5.2 过程的创建和调 过程是一段可以实现某个具体功能的代码 与函数不同,过程没有返回值 既可以在类模块中,也可以在标准模块中创建过程 Public Sub swap(x As Integer, y As Integer) Dim t As Integer t = x: x = y: y = t End Sub 过程的定义形式如下: [Public|Private][Static] Sub 过程名(变量名1As 类型,变量名2As 类型,…) 局部变量或常数定义 <语句块> [Exit Sub] <语句块> End Sub 说明: (1)过程名的命名规则与变量名等其他标识符的命名规则相同。 (2)过程名后括号内的变量也叫形式参数。如果过程有形式参数,则要在定义过程时指明形参的名称和类型;如果省略类型,则形参的默认类型为Varient型。 (3)语句[Exit Sub]的作用是中途提前退出过程。 创建过程的方法是: 打开模块,选择菜单“插入”→“过程”命令,在“添加过程”对话框中输入过程名。 调用过程有以下两种格式。 格式1:call 过程名([实参列表]) 格式2:过程名 [实参列表] 这里过程名后的参数叫实际参数。 调用过程时应注意实参应与形参的顺序、类型和个数保持一致。 例8-10创建一个窗体,在其中的某个按钮的单击事件中用InputBox函数输入两个整数,然后调用过程swap将它们的值互换。 按钮的单击事件如下: Private Sub Command0_Click() Dim x As Integer, y As Integer x = InputBox(x=) y = InputBox(y=) Debug.Print x, y swap x, y 或 swap(x,y) Debug.Print x, y End Sub 8.5.3 函数的创建和调用 函数有返回值。VBA的函数包含内置函数和用户自定义函数两种。 函数的定义形式如下: [Public|Private][Static] Function 过程名(变量名1 As 类型,变量名2 As 类型,…)As 类型 局部变量或常数定义 <语句块> 函数名=表达式 [Exit Function] <语句块> 函数名=表达式 End Function 例8-11 在前面创建的标准模块“模块1”内创建函数jc,函数的功能是返回一个数的阶乘。另外创建一个过程test,在test过程内调用函数jc。 函数jc的定义如下: Public Function jc(n As Integer) As Long 函数的返回值为Long型 Dim i As Integer, s As Long s = 1 For i = 1 To n s = s * i Next i jc = s 给函数赋值 End Function 过程test的定义如下: Public Sub test() Dim n As Integer, k As Long n = InputBox(n=) Debug.Print jc(n) k = jc(3) + jc(5) ‘调用函数jc Debug.Print 3!+5!=; k End Sub 8.5.4 过程调用中的参数传递 在调用过程和函数的过程中,一般会发生数据的传递,即将主调过程中的实参传给被调过程的形参。 在参数传递过程中,可以有传址和传值两种形式。 1.传址 如果在定义过程或函数时,形参的变量名前不加任何前缀,即为传址。 传递过程是:调用过程时,将实参的地址传给形参。因此如果在被调过程或函数中修改了形参的值,则主调过程或函数中实参的值也跟着变化。 前面示例中的过程和函数均为传址形式。 2.传值 如果在定义过程或函数时,形参的变量名前加ByVal前缀,即为传值。这时主调过程将实参的值复制后传给被调过程的形参,因此如果在被调过程或函数中修改了形参的值,则主调过程或函数中实参的值不会跟着变化。 Public Sub swap(x As Integer, y As Integer) Dim t As Integer t = x: x = y: y = t End Sub Public Sub swap1(ByVal x As Integer, ByVal y
您可能关注的文档
- 3D设计与打印实训教程项目5有支撑双色模型打印.pptx
- 3D设计与打印实训教程项目6有支撑复杂模型打印 (1).pptx
- 3D设计与打印实训教程项目7无支撑双色模型打印.pptx
- 3D设计与打印实训教程项目8物体逆向设计.pptx
- 3D设计与打印实训教程项目9人物逆向设计.pptx
- 3D设计与打印实训教程项目10对南瓜灯进行后期处理.pptx
- 3G基站系统运行与维护模块5.ppt
- 3G基站系统运行与维护模块6.ppt
- 3G基站系统运行与维护模块7.ppt
- 3G基站系统运行与维护模块8.ppt
- Access数据库实用教程 (9).ppt
- Access数据库实用教程 (10).ppt
- Access数据库应用教程(2010版)-PPT课件第1章 数据库基础知识.pptx
- Access数据库应用教程(2010版)-PPT课件第2章 表.pptx
- Access数据库应用教程(2010版)-PPT课件第3章 查询.pptx
- Access数据库应用教程(2010版)-PPT课件第4章 窗体.pptx
- Access数据库应用教程(2010版)-PPT课件第5章 报表.pptx
- Access数据库应用教程(2010版)-PPT课件第6章 宏.pptx
- Access数据库应用教程(2010版)-PPT课件第7章 模块与VBA程序设计.pptx
- Access数据库应用教程(2010版)-PPT课件第8章 数据库应用系统开发实例.pptx
最近下载
- 承装承修、承试试验室管理制度.pdf VIP
- 冷冻机知识培训课件.pptx
- 《沁园春·长沙》——激扬青春当拿云-上传课件.pptx VIP
- 2025年智能体发展与治理研究报告-AI善治学术工作组.pdf
- 无仓储危化品经营单位应急预案.pdf VIP
- 《铝型材标准培训》课件.ppt VIP
- 妇科炎症PPTPPT【171页】(最新文档).pptx VIP
- 女性盆腔结核疾病防治指南解读.docx
- GB∕T 22081-2024《GB∕T 22081-2024《网络安全技术 信息安全控制》之1:“5组织控制-5.1信息安全策略”专业深度解读和应用指导材料(雷泽佳编制-2025A0).pdf VIP
- 研究生雨课堂信息检索与科技写作课后答案.pdf VIP
原创力文档


文档评论(0)