从变量值设置常量

时间:2013-02-08 15:16:57

标签: vba outlook

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

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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