使用全局常量存储环境变量

11 浏览
0 Comments

使用全局常量存储环境变量

我正在为Microsoft Excel创建一个插件,并使用一个模块来存储在应用中由类和其他模块访问的变量(在运行时不会改变)。这是一种更方便的方式,用于硬编码值,而这些值可能需要在开发周期的不同阶段进行查找和替换。\n这些变量可能是应用版本或工作簿密码等内容:\n

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

\n我想知道是否有人可以告诉我这是否是不好的做法,如果是的话,应该采取什么更好的行动?

0
0 Comments

使用全局常量存储环境变量的问题出现的原因是当应用程序规模较大且包含大量常量和公共变量时,作用域会变得“混乱”,很难找到变量。为了解决这个问题,可以使用以下两种方法之一:

第一种方法是对于小型应用程序,可以将需要更改的密码或默认值写在一个名为“Settings”的单独表格中,然后创建一个公共函数来获取密码。具体代码如下:

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

第二种方法是对于大型应用程序,可以创建一个常量类,并在其中声明常量。这样可以更容易地调用这些常量。具体代码如下:

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`,则可以声明一个公共对象`objCon As clsConstants`,然后使用`objCon.FIRST_COLUMN_TO_FILL`来获取所需的常量。通过这种方式,作用域会变得更清晰。根据常量的用途,还可以构建多个常量类。

以上是解决使用全局常量存储环境变量的问题的两种方法。

0