Excel 连接字符串中的Windows环境变量

Excel 连接字符串中的Windows环境变量,excel,vba,odbc,Excel,Vba,Odbc,如何在Excel工作表连接字符串中使用环境变量,获取错误,ODBC Excel驱动程序登录失败。。。不是有效路径如果提供程序出错,则它不会扩展字符串,您需要手动执行此操作,在分配之前通过函数运行字符串 在模块中: Private Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As Strin

如何在Excel工作表连接字符串中使用环境变量,获取错误,ODBC Excel驱动程序登录失败。。。不是有效路径

如果提供程序出错,则它不会扩展字符串,您需要手动执行此操作,在分配之前通过函数运行字符串

在模块中:

Private Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As String, ByVal nSize As Long) As Long

Public Function ExpandEnv(str As String) As String
    Dim size As Long
    size = ExpandEnvironmentStrings(str, ExpandEnv, size)
    ExpandEnv = Space$(size)
    size = ExpandEnvironmentStrings(str, ExpandEnv, size)
    ExpandEnv = Left$(ExpandEnv, size - 1)
End Function
为了


一般来说,您应该提供更多详细信息aaa=&environ$VAR_NAME&;bbb@AlexK. 我是否可以在连接字符串本身中放置环境变量,而不每次使用vba更改连接字符串?例如DBQ=%myenvironmentvariable%;
?ExpandEnv("aaa %temp% bbb %username% ccc") 
aaa C:\NULL bbb AlexK ccc