还有private有什么用??定亦时跟DIM有什么区别。。private还用在哪?不需要太复杂的。我考VB二级
VBå¨å®ä¹å å«ä¸ä¸ªæå¤ä¸ªå ç´ çç¨æ·èªå®ä¹çæ°æ®ç±»åæ¶ï¼ä½¿ç¨Type è¯å¥ã
Type è¯å¥ï¼å¨æ¨¡å级å«ä¸ä½¿ç¨ï¼ç¨äºå®ä¹å å«ä¸ä¸ªæå¤ä¸ªå ç´ çç¨æ·èªå®ä¹çæ°æ®ç±»åã
说æï¼
Type è¯å¥åªè½å¨æ¨¡å级使ç¨ãä½¿ç¨ Type
è¯å¥å£°æäºä¸ä¸ªç¨æ·èªå®ä¹ç±»ååï¼å°±å¯ä»¥å¨è¯¥å£°æèå´å
çä»»ä½ä½ç½®å£°æ该类åçåéãå¯ä»¥ä½¿ç¨
DimãPrivateãPublicãReDim æ Static æ¥å£°æç¨æ·èªå®ä¹ç±»åçåéã
å¨æ å模åä¸ï¼ç¨æ·èªå®ä¹ç±»åæ缺ç设置æ¯å
¬ç¨çãå¯ä»¥ä½¿ç¨ Private å
³é®åæ¥æ¹åå
¶å¯è§æ§ãèå¨ç±»æ¨¡åä¸ï¼ç¨æ·èªå®ä¹ç±»ååªè½æ¯ç§æçï¼ä¸ä½¿ç¨ Public
å
³é®åä¹ä¸è½æ¹åå
¶å¯è§æ§ã
å¨ Type...End Type åä¸ä¸å 许使ç¨è¡å·åè¡æ ç¾ã
Type è¯å¥ç¤ºä¾
该示ä¾ä½¿ç¨ Type è¯å¥ï¼å®ä¹ç¨æ·èªå®ä¹çæ°æ®ç±»åãType
è¯å¥åªè½å¨æ¨¡å级使ç¨ãå¦æè¦å¨ç±»æ¨¡åä¸ä½¿ç¨ï¼åå¿
é¡»å¨ Type è¯å¥åå 以å
³é®å Privateã
ID As Integer 'å®ä¹å ç´ çæ°æ®ç±»åã
Name As String * 20
Address As String * 30
Phone As Long
HireDate As Date
End Type
Sub CreateRecord()
Dim MyRecord As EmployeeRecord '声æåéã
'对 EmployeeRecord åéçèµå¼å¿ é¡»å¨è¿ç¨å è¿è¡ã
MyRecord.ID = 12003 'ç»ä¸ä¸ªå ç´ èµå¼ã
End Sub
如
private sub test()
end sub
这个私有过程 只能在这个窗口 或模块中被调用 不能被其他窗体或模块调用
dim是定义数据类型 和private不一样~
至于type 是用户自定义类型
比如一个班级有50个学生 我们现在要记录他们3个情况 姓名 年龄 性别
type 学生
姓名 as string
年龄 as integer
性别 as string
end type
Private Sub Form_Load()
dim 小明 as 学生
小明.姓名="小明"
小明.年龄= 15
小明.性别="男"
End Sub
这是记录一个学生的情况 我们只要定义一个变量(小明)就可以了~
要是没有用type来自定义类型的话~如下
Private Sub Form_Load()
dim 小明姓名 as string
dim 小明年龄 as integer
dim 小明性别 as string
小明姓名="小明"
小明年龄= 15
小明性别="男"
End Sub
你看我们要记录一个学生的情况需要定义三个变量~50个学生就是150个 如果有用type来定义类型 只需要定义50个就可以了。大大节省空间~本回答被提问者采纳
注意:DIM 在同一FORM中可以调用数据的运算结果,而PRIVATE不继承,但是PUBLIC 继承
在模块级别中使用,用于声明私有变量及分配存储空间。
语法
Private [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] . . .
Private 语句的语法包含下面部分:
部分 描述
WithEvents 可选的。关键字,说明 varname 是用来响应由 ActiveX 对象所触发的事件的对象变量。只有在类模块中才是合法的。使用 WithEvents,可以定义任意个所需的单变量,但不能用 WithEvents 创建数组。New 和 WithEvents 不能一起使用。
varname 必需的。变量的名称;遵循标准的变量命名约定。
subscripts 可选的。数组变量的维数;最多可以定义 60 维的多维数组。subscripts 参数的使用语法如下:
[lower To] upper [,[lower To] upper] . . .
如果不显式指定 lower,则数组的下界由 Option Base 语句控制。如果没有 Option Base 语句则下界为 0。
New 可选的。使其可以隐式地创建对象的关键字。如果使用 New 声明对象变量,则在第一次引用该变量时创建该对象的新实例,因此不必使用 Set 语句来对该对象引用赋值。New 关键字不能声明任何内部数据类型的变量以及从属对象的实例,也不能与 WithEvents 一起使用。
type 可选的。变量的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对可变长的字符串)、String * length(对定长的字符串)、Object、Variant、用户定义类型或对象类型。所声明的每个变量都要一个单独的 As type 子句。
说明
Private 变量只能在包含其声明的模块中使用。
可以使用 Private 语句声明变量的数据类型。例如,下面的语句声明了一个 Integer 类型的变量。
Private NumberOfEmployees As Integer
也可以使用 Private 语句来声明变量的对象类型。下面的语句为工作表的新实例声明了一个变量。
Private X As New Worksheet
如果在定义对象变量时没有使用 New 关键字,则在使用该变量之前,必须使用 Set 语句将一个已有的对象赋给该引用对象的变量。在赋值之前,所声明的这个对象变量有一个特定值 Nothing,这个值表示该变量没有指向任何对象的实例。
如果不指定数据类型或对象类型,且在模块中没有使用 Deftype 语句,则按缺省情况该变量为 Variant 类型。
可以用带空圆括号的 Private 语句来声明动态数组,然后可以在过程内用 ReDim 语句来定义该数组的维数和元素。如果试图在 Private,Public 或 Dim 语句中重新定义一个已显式定义了大小的数组的维数,就会发生错误。
当初始化变量时,数值变量被初始化为 0,变长的字符串被初始化为一个零长度的字符串 (""),而定长的字符串则用 0 填充。Variant 变量被初始化为 Empty。用户自定义类型的变量的每个元素作为各自独立的变量进行初始化。
注意 当在过程中使用 Private 语句时,通常将 Private 语句放在过程的开始。
private主要用于限制你的变量、过程、函数、数据类型等的使用范围在模块里有效;
private可用在变量及对象申明、过程、函数定义或申明、数据类型定义或申明等代码;
dim只用于申明变量和对象变量的数据类型;
程序里的所有地方都可以引用该type
private type用在模块或窗体里定义
仅在那个模块或窗体里能引用该type