gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 14:55:30 43 4
gpt4 key购买 nike

我正在为 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

我想知道是否有人可以告诉我这是否是不好的做法,如果是,更好的做法是什么?

最佳答案

我通常会做完全相同或另外两件事,具体取决于应用程序的大小。如果是小事,我就用你的方法。然而,这些是我使用的其他方法。

第一种方法:

如果用户应该更改密码或默认值,我会制作一个单独的表,称为“设置”,并将它们写在那里。然后我为密码创建一个公共(public)函数,如下所示:

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

第二种方法:

如果这是一个包含大量常量和公共(public)变量的大型应用程序,那么作用域会变得有些“脏”,并且很难找到变量。因此,我创建了一个常量类并在那里声明它们。然后,调用它们就更容易了。

类似这样的事情:

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 我得到了我想要的想。这样范围就更清晰了。您还可以构建多于一类的常量,具体取决于它们的用途。

关于vba - 使用全局常量存储环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41587034/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com