Ich habe mir aus mehreren Quellen ein VBA Makro zusammen gestellt und auch bereits darin editiert.
Zuerst öffne ich mit eine Dialog die Datei Auswahl
Fname = Application.GetOpenFilename( _
FileFilter:="BDE Mis Files (*.mis), *.mis", _
Title:="Select file", _
MultiSelect:=True)
Und speichere das gewählte Verzeichnis
WorkPath = CurDir
Dann möchte ich die ERSTE GEFUNDENE DATEI im Array Fname verwenden um meine Zeilen Bezeichnungen zu setzen.
If IsArray(Fname) Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;D:\Auswertung\bde00.mis", Destination:=Range("$A2"))
ActiveSheet.Name = "BDE Auswertung"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "="
.TextFileColumnDataTypes = Array(1, 9)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
For N = LBound(Fname) To UBound(Fname)
Next N
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End If
Dies funktioniert nur solange in der Query Connection der absolute Pfad steht.
Sobald ich mit variablen arbeite findet er die Datei nicht mehr.
Wie ist diese richtig zu setzen?
Vielen Dank schonmal.
Dennis