Excel导入中的动态路径查找

时间:2009-03-23 15:38:26

标签: excel vba excel-vba

我有一段VB代码,可以在Excel中动态查找我当前的文件路径。现在我希望在从文本文件导入文本时使用它,但无法弄清楚如何编写它。

以下是获取当前路径的代码:

Function GetCurDir()
Dim str As String
Dim pos As Integer
str = ActiveWorkbook.FullName
pos = InStrRev(str, "\")
str = Mid(str, 1, pos)
GetCurDir = str
End Function

这是我在写入文件时使用它的方式:

MyFile = GetCurDir & "\Data\MaterialBalance\Ngasdata.dat"

这是我也想使用它的地方:

With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;C:\NGasSim\Data\MaterialBalance\NGASPROD.DAT", Destination:=Range( _
    "$G$4"))

如您所见,这是一条静态路径.. 任何人都可以用正确的语法帮助我吗?

1 个答案:

答案 0 :(得分:2)

只需创建另一个变量来构建连接字符串:

MyFile = GetCurDir & "\Data\MaterialBalance\Ngasdata.dat"

MyConnection = "TEXT;" & MyFile 

With ActiveSheet.QueryTables.Add(Connection:= _
    MyConnection, Destination:=Range( _
    "$G$4"))