0

我想将我的数据库路径设置为常量。

问题是路径存储在 INI 文件中,并且在启动 Outlook 时设置了变量。如果常量没有硬编码,VBA 将不会编译。

我想使用常量的原因是,由于某些原因,在 Outlook 运行几个小时/天后,它有时似乎会丢失其变量的值(从未遇到过硬编码常量的这个问题)。路径变量刚刚被清空,然后当 VBA 尝试访问数据库时,用户收到错误消息。

我不能仅仅因为某些用户不使用相同的服务器 UNC 路径而对路径进行硬编码。此路径可能一年左右更改一次,只需编辑 INI 文件并重新启动 Outlook 比要求程序员编辑每个用户计算机上代码中的正确行更容易。

有任何想法吗?

4

1 回答 1

1

您不能在运行时更改常量的值。这些值是在编译代码时设置的(即使您没有显式编译 VBA 代码,它仍然在后台完成即时 (JIT))。

如果您不想不断地运行查找代码(例如,因为它效率低下),那么您可以在函数中使用静态变量:

Function GetDbPath() As String
    Static DbPath As String
    If Len(DbPath) = 0 Then 
        DbPath = 'your code here'
    End If
    GetDbPath = DbPath
End Function
于 2013-02-08T17:31:49.663 回答