程序做点事。使用动词在他们做的事情后给他们命名。如果无法正确命名一个过程,则可能是该过程做了太多事情,需要分解为更小,更专业的过程。
因此,一些常见的VBA命名约定如下:
对于所有程序:
PascalCase
Public Sub DoThing() End Sub Private Function ReturnSomeValue() As [DataType] End Function
对于事件处理程序过程:
ObjectName_EventName
Public Sub Workbook_Open() End Sub Public Sub Button1_Click() End Sub
事件处理程序通常由VBE自动命名。在不重命名对象的情况下重命名它们和/或已处理的事件将破坏代码-代码将运行并编译,但是处理程序过程将被孤立并且永远不会执行。
布尔成员
考虑一个布尔返回函数:
Function bReadFile(ByVal strFile As String, ByRef strData As String) As Boolean End Function
相比于:
Function CanReadFile(ByVal path As String, ByRef outContent As String) As Boolean End Function
该Can前缀并服务于相同的目的b前缀:它标识函数的返回值作为Boolean。但是Can读起来比b:
If CanReadFile(path, content) Then
相比:
If bReadFile(strFile, strData) Then
考虑使用诸如的前缀Can,Is或Has在返回布尔值的成员(函数和属性)之前使用前缀,但前提是要增加值。这符合当前的Microsoft命名准则。