2009-03-23 11 views
1

Ich habe ein Stück VB-Code, der dynamisch meinen aktuellen Dateipfad in Excel findet. Jetzt möchte ich es verwenden, wenn ich Text aus einer Textdatei importiere, kann aber nicht herausfinden, wie man es programmiert.Dynamische Pfadsuche in Excel-Import

Hier ist mein Code für den aktuellen Pfad bekommen:

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 

Dies ist, wie ich es verwenden, wenn Sie eine Datei zu schreiben:

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

Dies ist, wo ich sie auch nutzen möchten :

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

Wie Sie sehen, ist dies ein statischer Weg ist .. Könnte mir jemand mit t helfen Hat er die richtige Syntax?

Antwort

2

Erstellen Sie einfach eine andere Variable Verbindungszeichenfolge bauen:

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

MyConnection = "TEXT;" & MyFile 

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