我正在为 Microsoft Excel 创建一个加载项,我正在使用一个模块来存储由应用程序中的类和其他模块访问的变量(在运行时不会更改)。这是一种更方便的硬编码值的方法,我可能必须在开发周期的不同点找到和替换它。
变量是诸如应用程序版本或工作簿密码之类的内容:
Option Explicit
Option Private Module
Global Const APP_ID = "XXY"
Global Const APP_VERSION = "1.00"
Global Const WORKSHEET_PASSWORD = "s0Me_pa$$w0rD"
Global Const DATA_TABLE = "tblStockData"
Global Const FORM_DEFAULT_VALUE = 200
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人可以告诉我这是否是不好的做法,如果是,那么更好的做法是什么?
我通常会做完全相同的一两件事,这取决于应用程序的大小。如果它很小,我会使用你的方法。但是,这些是我使用的其他方法。
第一种方法:
如果用户应该更改密码或 default_value,我会制作一个单独的表,称为“设置”,然后将它们写在那里。然后我为密码创建一个公共函数,如下所示:
public function GetPassword as string
GetPassword = [set_password]
end function
Run Code Online (Sandbox Code Playgroud)
第二种方法:
如果这是一个包含大量常量和公共变量的大型应用程序,范围会变得“脏”,并且很难找到变量。因此,我创建了一个常量类并在那里声明它们。然后,更容易调用它们。
像这样的东西:
Private Const p_First_COLUMN_TO_FILL = 8
Public Property Get FIRST_COLUMN_TO_FILL() As Long
FIRST_COLUMN_TO_FILL = p_First_COLUMN_TO_FILL
End Property
Run Code Online (Sandbox Code Playgroud)
因此,如果我的班级是clsConstants,我将其声明为Public objCon As clsConstants,现在objCon.FIRST_COLUMN_TO_FILL我得到了我想要的。范围以这种方式更清洁。您还可以构建不止一类常量,具体取决于它们的用途。
| 归档时间: |
|
| 查看次数: |
2822 次 |
| 最近记录: |