2009-03-23 9 views
1

J'ai un morceau de code VB qui trouve dynamiquement mon chemin de fichier actuel dans Excel. Maintenant, je souhaite l'utiliser lors de l'importation de texte à partir d'un fichier texte, mais je n'arrive pas à comprendre comment le coder.Pathfinding dynamique dans l'importation Excel

Voici mon code pour obtenir le chemin actuel:

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 

Voilà comment je l'utilise lors de l'écriture dans un fichier:

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

C'est là que je voudrais également l'utiliser :

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

Comme vous le voyez, cela est un chemin statique .. quelqu'un pourrait me aider avec t La syntaxe de droite?

Répondre

2

Il suffit de créer une autre variable pour construire votre chaîne de connexion:

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

MyConnection = "TEXT;" & MyFile 

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