VBA 程序介绍
示例
ASub是执行特定任务但不返回特定值的过程。
Sub ProcedureName ([argument_list]) [statements] End Sub
如果未指定访问修饰符,则Public默认为过程。
AFunction是给定数据并返回值的过程,理想情况下没有全局或模块作用域的副作用。
Function ProcedureName ([argument_list]) [As ReturnType] [statements] End Function
AProperty是封装模块数据的过程。一个属性最多可以有3个访问器:Get返回值或对象引用,Let分配值和/或Set分配对象引用。
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType] [statements] End Property
属性通常用于类模块中(尽管标准模块也允许使用它们),从而使访问者无法访问调用代码无法访问的数据。仅公开Get访问器的属性为“只读”;仅公开Let和/或Set访问者的属性为“只写”。只写属性不被视为一种好的编程习惯-如果客户端代码可以写一个值,则它应该能够读回它。考虑实现一个Sub过程,而不是创建只写属性。
返回值
一个Function或PropertyGet程序可以(也应该!)的值返回调用者。这是通过分配过程的标识符来完成的:
Property Get Foo() As Integer Foo = 42 End Property