日期:2021年04月22日
作者:Commas
注释:网络上没有一个比较系统的VB6或者VBA的教程,于是打算利用中午休息的时间写一写这方面的教程,不喜欢写得很文绉绉,一切都以常用为前提进行介绍。因为要覆盖更多读者,所以本系列文章有些地方可能会介绍比较地通俗易懂,当然也会包含一些比较有意思的知识点,不喜勿喷,有问题敬请指出,有疑惑欢迎留言,大家一起讨论,共同进步,谢谢大家(^ _ ^) (^ _ ^)
目录
一、内置数据类型的介绍
类型 | 类别 | 常用级别 | 说明 |
---|---|---|---|
String | 字符串 | ♥♥♥♥♥ | 默认是定长字符串 ,当字符超过2^16个时,变为变长字符串 ,届时字符拼接效率会变得非常低 |
Integer | 数值(整型) | ♥♥♥♥♥ | 2^16(2个字节),范围:-32,768 到 32,767 |
Long | 数值(长整型) | ♥♥♥♥♥ | 2^32(4个字节),范围: -2,147,483,648 到 2,147,483,647 |
Single | 数值(单精度浮点) | ♥♥♥♥♥ | IEEE 32 位(4 个字节)浮点数值的形式,单精度浮点数,负数范围是从 -3.402823E38 到 -1.401298E-45,正数从1.401298E-45 到 3.402823E38,和 0 。 |
Double | 数值(双精度浮点) | ♥♥♥♥♥ | IEEE 64 位(8 个字节)浮点数值的形式,双精度浮点数,负数范围是从 -1.79769313486232E308 到 -4.94065645841247E-324,正数从 4.94065645841247E-324 到 1.79769313486232E308,和 0 。 |
Boolean | 布尔型 | ♥♥♥♥♥ | 16 位(2 个字节)的数值形式,但只能是 True 或是 False |
Currency | 货币 | ♥♥ | 范围: -922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
Date | 日期 | ♥♥♥ | IEEE 64 位(8 个字节)浮点数值形式,其可以表示的日期范围从 100 年 1 月 1 日到 9999 年 12 月 31 日 ,而时间可以从 0:00:00 到 23:59:59 。 |
Object | 对象 | ♥♥♥♥♥ | 存储为 32 位(4 个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object 的变量可以赋值为任何对象的引用。 |
Variant | 变体 | ♥♥♥ | 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、Error、Nothing 及 Null等特殊值。可以用 VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据。 |
字符串有两种:变长与定长的字符串。
①变长字符串
最多可包含大约 20 亿 ( 2^31)个字符。
②定长字符串
可包含 1 到大约 64K ( 2^16 ) 个字符。
想要了解更多字符串知识,可以翻阅以前写的一篇文章《浅谈VB6字符串拼接效率》
二、关键字之修饰符介绍
声明变量的时候,我们需要使用到修饰符关键字,主要是修饰定义变量的作用域,详细如下表所示:
修饰符 | 说明 |
---|---|
Public | 声明变量并分配存储空间,用于模块级别 ,整个工程内全局变量,其它模块也可以访问到 |
Private | 声明变量并分配存储空间,用于模块级别 ,本部模块内全局变量,仅限本模块访问 |
Dim | 声明变量并分配存储空间,作用域视情况而定,常用于过程级别 中的变量声明 |
Static | 在过程级别中使用,用于声明变量并分配存储空间。在整个代码运行期间都能保留使用 Static 语句声明的变量的值。 |
一、
过程级别
与模块级别
的定义:
过程级别
:描述 Function、Property、或 Sub 过程中的语句。通常先列举声明,其次是赋值和其它可执行的代码。
模块级别
:代码驻留在过程块之外,有过程级别相对;
二、Dim在不同级别中声明,作用域不同,如下:
在模块级别
中用 Dim 声明的变量,对该模块中的所有过程都是可用的。
在过程级别
中声明的变量,只在过程内是可用的。
由此可得,Dim一般用于过程级别
中的变量声明,
而在模块级别
中,我们一般用Public\Private关键字
三、内置数据类型的声明
变量声明语法:
修饰符关键字 变量名称 As 变量类型
[Public\Praivete\Dim\Static] varName As varType
Option Explicit
'【模块级别】:声明变量
Private gIsDebug As Boolean
Public gOpener As Object
Private Sub Form_Load()
On Error Resume Next
'【过程级别】:声明变量
Dim intX As Integer, intY As Integer
Dim lngRow As Long, lngCol As Long
Dim sUserName As String
'变量赋值
intX = 1
intY = 2
lngRow = 100
lngCol = 3
sUserName = "张三"
End Sub
四、自定义数据类型的定义与声明
自定义数据类型,并不是多么高深的操作,实际上就是将现有的数据类型,进行一定的排列组合而已,语法如下:
'变量声明语法:
[Public\Praivete] Type 自定义变量类型名称
类型定义过程
End Type
自定义数据类型定义与声明示例如下:
Option Explicit
'自定义数据类型,如:二维坐标(X,Y)
Private Type tPosition
X As Single
Y As Single
End Type
Private Sub Form_Load()
On Error Resume Next
'1)声明
Dim p1 As tPosition, p2 As tPosition
'2)赋值
'(0,0)
p1.X = 0
p1.Y = 0
'(9,5)
p2.X = 9
p2.Y = 5
End Sub
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/116009499