使用全局常量来存储环境variables

我正在为Microsoft Excel创build一个加载项,我正在使用一个模块来存储应用程序中的类和其他模块访问的variables(在运行时不会更改)。 这是一种更为便捷的硬编码方式,在开发周期的不同阶段我可能不得不寻找和replace这些值。

variables是诸如应用程序版本或工作簿密码之类的东西:

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 

我想知道有没有人能告诉我这是不是好的做法,如果是的话,那么更好的做法是什么?

我通常做完全一样的或另外两件事情,这取决于应用程序的大小。 如果它是小事,我使用你的方法。 但是,这些是我使用的其他方法。

第一种方法:

如果用户应该更改密码或default_value,我做了一个单独的表,名为“设置”,我写在那里。 然后我为这个密码做一个公共函数:

 public function GetPassword as string GetPassword = [set_password] end function 

第二种方法:

如果这是一个有很多常量和公共variables的大型应用程序,那么范围就会变得很“脏”,很难findvariables。 因此,我创build了一个常量类,并在那里声明它们。 那么,更容易打电话给他们。

像这样的东西:

 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 

因此,如果我的类是clsConstants ,我将其声明为Public objCon As clsConstants ,现在使用objCon.FIRST_COLUMN_TO_FILL我得到我想要的。 这个范围在某种程度上是干净的。 你也可以build立一个以上的常量类,这取决于它们的用途。