u过程级变量(局部变量)
在前面的程序设计中,我们使用的变量都是在一个事件过程内部定义的,这种变量我们称之为过程级变量或局部变量。
在程序设计中,仅使用过程级的变量是不够的,过程级变量无法完成多个过程之间的数据传递问题。
例题1:在窗体上每单击一次显示一个1~100之间的整数,单击窗体上的命令按钮“求和”可显示以前所有出现的整数和。
Private Sub Command1_Click()
StaticSum As Integer
Print "以上各数的和=",Sum
End Sub
Private Sub Form_Click()
DimR As Integer
Static Sum As Integer
R = Int(Rnd(1)* 100 + 1) //产生随机数
Sum= Sum + R
Print R
End Sub
定义过程级变量,可以使用Dim或Static关键字,其格式如下:
Private Sub 对象名_事件名()
Dim 变量名1As 数据类型
Static变量名2As 数据类型
………………………………………………………………
End Sub
v模块级变量
为解决以上问题,VB允许用户定义模块级变量。
所谓的模块级变量,其作用范围是一个模块,因此该模块中的所有过程,可以使用模块级变量。模块级变量要用Private和Dim进行声明。变量的声明位置位于该模块顶部的声明段中。

w工程级变量(全局变量)
模块级变量的作用范围是一个模块,无法达到该模块的外部,而一个工程可能包含多个模块,若要定义一个变量能够在一个工程的多个模块之中使用,则要将其声明为全局变量,也可称其为工程级变量。
全局变量要用Public关键字声明,其声明位置是标准模块的声明段中。

x三种类型变量之比较
从作用范围
声明方式
变量的声明位置
能否被本模块中的其他过程访问
能否被其他模块访问
Private Sub Command1_Click()
DimA As Integer
Static D As Integer
A = A + 1
B = B + 1
C = C + 1
D = D + 1
Print A, B, C, D
End Sub
Public A As Integer
Dim B As Integer
Private Sub Form_Load()
DimC As Integer
C = 5
A = 10
B = 20
End Sub