- 1、本文档共147页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 As Integer) Dim t As Integer t = x: x = y: y = t End Sub 按钮的单击事件如下: Private Sub Command0_Click() Dim x As Integer, y As Integer x = InputBox(x=) y = InputBox(y=) Debug.Print x, y swap x, y swap1 x, y Debug.Print x, y End Sub 如果输入5和7,程序的结果? 8.5.5 局部变量、全局变量和静态变量 变量的有效范围,即作用域。按照作用域不同,VBA有局部变量、模块级局部变量和全局变量 1.过程内局部变量 在过程和函数内用关键字Dim定义,有效范围是定义该变量的过程或函数。 形参也属于过程内局部变量 2.模块级局部变量 在模块的通用声明段用关键字Dim或Private定义,有效范围是定义该变量的模块。 例8-12 创建名为“排序”的窗体。运行时自动产生并在左面的列表框中输出10个0~99之间的随机数,单击“排序”按钮后将这10个数按降序排序,并在右边的列表框中输出排序的结果 解题思路: (1)用数组存放10个随机数。 (2)在窗体的Load事件中生成数组中的10个随机数,然后在“排序”按钮的Click事件中将数组排序,因此该数组应定义为模块级数组。 关于该题涉及的生成随机数和排序算法,可参考例8-6和例8-8。 使用AddItem方法动态向列表框中添加项目 控件名.AddItem(Item,Index) Dim a(1 To 10) As Integer ‘定义模块级数组 Private Sub Form_Load() Dim i As Integer 生成并输出数组 For i = 1 To 10 a(i) = Int(Rnd() * 100) Me.lst左.AddItem a(i) Next i End Sub Private Sub cmd排序_Click() Dim i As Integer, j As Integer, imax As Integer, t As Integer For i = 1 To 10 排序 寻找最大值的位置 imax = i For j = i To 10 If a(imax) a(j) Then imax = j Next j 交换 t = a(i): a(i) = a(imax): a(imax) = t Next i For i = 1 To 10 输出排序结果 Me.lst右.AddItem a(i) Next i End Sub 3.全局变量 是可在整个应用程序使用的变量。定义的方法是在模块的通用声明段用Public关键字定义变量。 引用全局变量时,如果是在标准模块中定义的全局变量,可在应用程序的任何地方直接用变量名引用该变量。如果是在类模块(如窗体模块)中定义的全局变量,可在应用程序的任何地方引用该变量,但在变量名的前面应加模块名限定,形式为“模块名.变量名”。 4.静态变量 静态变量决定了变量的生存期。 对于过程内的局部变量,它的生存期从进入过程(Sub)开始,到退出过程(End Sub)时结束。如果要改变过程内局部变量的生存期,可以将它定义为静态变量。 定义的方法是在定义过程内局部变量时加关键字Static。 例8-13 制作一个“记时器”窗体。 要求,该窗体运行后首先单击“设置”按钮,然后在输入框中输入计时的秒数,单击“开始”按钮则开始计时,同时计时的秒数显示在文本框中。当计时时间到,停止计时并响铃,同时将文本框清零。 基本思路: (1)本题中计时由窗体的Timer事件完成。 该事件按照预先定义好的时间间隔自动触发,这个时间间隔由窗体的TimerInterval属性决定。为1000,则每隔1秒触发1次。为0,不触发。 (2)由于在“设置”按钮的单击事件和“开始”按钮的单击事件中都要用到计时范围f,所以将变量f定义成全局变量。 (3)变量s的作用是计时,即每次Tim
您可能关注的文档
最近下载
- 北京银行:首次公开发行股票招股说明书.docx
- 南京市2025届高三年级学情调研(零模)语文试卷(含答案详解).docx
- 《学习任务群视域下开展小学语文多文本阅读的实践研究》课题研究方案.doc
- 商业物业管理要点.ppt
- AIGC基础与应用 课件全套 第1--8章 认识AIGC---AIGC的发展与展望.pptx
- 佛山海天调味食品股份有限公司限制性股票激励计划.PDF
- AutomotiveSPICE 详解培训课件.pptx
- 办公室安全检查表.xls VIP
- GB50595-2010:有色金属矿山节能设计规范.pdf VIP
- 安徽省蚌埠市蚌山区2022-2023学年九年级上学期第一次月考数学试题( 含答案解析 ).docx VIP
文档评论(0)