Microsoft Excel

Herbers Excel/VBA-Archiv

relativer Dateipfad | Herbers Excel-Forum


Betrifft: relativer Dateipfad von: start_34
Geschrieben am: 15.10.2008 18:59:36

Hallo,

ich möchte über ein Makro eine Datei im .csv Format einlesen.
Das Makro beginnt folgendermaßen:

Sub MCI()
'
' MCI Makro
' Makro am 10.10.2008 von start_34 aufgezeichnet
'
' Tastenkombination: Strg+m
'
Sheets("MCI-Datei").Select
Range("A1:I350").Select
Selection.ClearContents
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;c:\abc\123\test\parddi\mci2008.csv", _
Destination:=Range("A1"))

Damit funktioniert es auch.

Aber ich möchte nicht den gesamten Pfad eingeben, sondern nur den Dateinamen oder der Rest des Pfades ab da, wo ich gerade stehe (z.B. \parddi\mci2008.csv)

Wenn ich den Pfad nicht komplett eingebe erhalte ich die Fehlermeldung:
Laufzeitfehler 1004
Excel kann die Textdatei für die Aktualisierung des externen Datenbereichs nicht finden.

Wie muß ich die Datei einbinden ?

Schönen Gruß

  

Betrifft: AW: relativer Dateipfad von: Tino
Geschrieben am: 15.10.2008 19:13:12

Hallo,
vieleicht geht es so.

Dim strPfad As String

'Pfad wo die Excel Datei liegt 
strPfad = _
IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")

'Pfad Datei vervollständigen ohne "\" am Anfang 
strPfad = strPfad & "parddi\mci2008.csv"



Gruß Tino


  

Betrifft: AW: relativer Dateipfad von: start_34
Geschrieben am: 15.10.2008 19:35:36

Hallo Tino,

wo und wie binde ich den das in mein Makro ein ?


Gruß
start_34


  

Betrifft: AW: relativer Dateipfad von: Tino
Geschrieben am: 15.10.2008 20:00:59

Hallo,
ungetestet, so müsste es so gehen.

Option Explicit

Sub MCI()
' 
' MCI Makro 
' Makro am 10.10.2008 von start_34 aufgezeichnet 
' 
' Tastenkombination: Strg+m 
' 
Dim strPfad As String

'Pfad wo die Excel Datei liegt 
strPfad = _
IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\")

'Pfad Datei vervollständigen ohne "\" am Anfang 
strPfad = strPfad & "parddi\mci2008.csv"


Sheets("MCI-Datei").Select
Range("A1:I350").ClearContents
With Range("A1").QueryTables.Add(Connection:= _
"TEXT;" & strPfad, _
Destination:=Range("A1"))

End Sub




Gruß Tino


  

Betrifft: AW: relativer Dateipfad von: start_34
Geschrieben am: 16.10.2008 14:08:57

Hallo Tino,

vielen Dank. Jetzt funktioniert es.

Aber:

So geht´s nicht:

Sheets("MCI-Datei").Select
Range("A1:I350").ClearContents
With Range("A1").QueryTables.Add(Connection:= _
"TEXT;" & strPfad, _
Destination:=Range("A1"))


So geht´s:

Sheets("MCI-Datei").Select
Range("A1:I350").Select
Selection.ClearContents
Selection.QueryTable.Delete
Range("A1").Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & strPfad, _
Destination:=Range("A1"))

Danke nochmals.

Schönen Gruß
starter_34


Beiträge aus den Excel-Beispielen zum Thema "relativer Dateipfad"