- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. VBA命名规则
一个好的命名规则可以提高程序的可读性,减少错误发生的概率,命名规则不是一定的,不同的人有不同的规则和习惯,但在编程过程中,对于个人或工作组,一定要遵守相同的命名规则。
1.1. 变量、常量、自定义类型和枚举
表 11概括了变量、常量的基本命名规则。
表 11 变量、常量和枚举类型的命名规则
元素
命名规则
变量
范围数组数据类型描述(首字母大写)
常量
范围数据类型描述(全部大写)
用户自定义类型
Type 描述名称
数据类型描述
End Type
枚举类型
Enum 工程前缀一般描述
工程前缀一般描述具体名称1
工程前缀一般描述具体名称2
End Enum
范围表示了变量的作用域,对于Private类型和模块级变量,一般使用“m”前缀表示,对于Public类型的变量,一般使用“g”前缀表示,而对于过程内的局部变量,则不使用前缀。如果是数组,在范围前缀后增加“a”表示变量为数组。
对于数据类型,一般使用表 12的前缀表示。
表 12 命名规则常用前缀
前缀
数据类型
前缀
数据类型
前缀
数据类型
is
Boolean
cm
ADODB.Command
cmb
MSForms.ComboBox
byt
Byte
cn
ADODB.Connection
chk
MSForms.CheckBox
cur
Currency
rs
ADODB.Recordset
cmd
MSForms.CommandButton
dte
Date
fra
MSForms.Frame
dec
Decimal
cht
Excel.Chart
lbl
MSForms.Label
f
Double,Single
rng
Excel.Range
lst
MSForms.ListBox
i
Integer,Long
wb
Excel.Workbook
mpg
MSForms.MultiPage
obj
Object
ws
Excel.Worksheet
opt
MSForms.OptionButton
str
String
spn
MSForms.SpinButton
u
User-defined type
cbr
Office.CommandBar
txt
MSForms.TextBox
v
Variant
ctl
Office.CommandBarControl
ref
RefEdit Control
col
VBA.Collection
cls
自定义类
frm
用户窗体
变量的描述部分最好使用有意义的字符串,使用1-2个英文单词表示,首字母大写,例如“strUserName”、“iPeopleAge”。除了循环变量使用i、j,临时变量使用tmp之类的变量外,不要使用太短的命名,但也不要使用太长不易记忆的名称。
常量则一般使用全部大写的方式,以与变量区别。
对于枚举类型,整个工程一定要使用一致的规则,每个枚举常量都包含工程前缀,变量前缀和本身描述几部分,例如:
Private Enum schDayType
schDayTypeUnscheduled
schDayTypeProduction
schDayTypeDownTime
schDayTypeHoliday
End Enum
1.2. 过程和函数
过程和函数命名一般使用“名词 + 动词”的方式,首字母大写,也可以使用“动词 + 名词”方式,对于过程和函数的参数,命名方式见前,为了和局部变量区别,可以不使用表示参数变量类型的前缀。例如,我们可以命名如下的过程:
GetUserName(id as long) As String
1.3. 模块、类模块和用户窗体
模块使用类似过程的命名,用几个表示其用途的首字母大写的短语来表示,例如“PlotChartTools”;类模块增加前缀“C”,以与标准模块相区别,例如“CIniTools”、“CEmployee”等;用户窗体则以“frm”为前缀,如“frmAbout”、“frmRegTools”。这样,在代码中我们可以这样使用类模块:
Dim clsMyClass As CMyClass
Set clsMyClass = New CMyClass
类模块与其对象差别一目了然。由于VBA对于窗体可以使用缺省窗体,不需要创建实例,在代码中可以直接使用,因此,使用了与变量定义一样的前缀。例如:
frmRegTools.Show
1.4. VBA工程
VBA工程一般使用与其文件名同名的名字,一方面,
文档评论(0)