ich hab nochmal eine Frage bzw. ein Problem:
Ich würde gernen einen ganzen Ordner in Excel einlesen. Hierzu gebe ich einen bestimmten Pfad an. Nun würde ich es gerne so umsetzen, dass andere User einen beliebigen Ordner auswählen können, der dann ausgewertet wird. Die Auswertung funktioniert soweit perfekt. Das einlesen unter meinem Accout auch. Da ich einen festen Pfad angebe.
Hier mal mein Code:
' Import_Ordner
' -- Verzeichnisauswahl
Dim strPath As String
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "D:\" 'Startverzeichnis
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl des auzuwertenden Ordners"
.InitialFileName = Environ("USERPROFILE")
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strPath = .SelectedItems(1)
If Right(strPath, 1) "\" Then strPath = strPath & "\"
End If
End With
If Len(strPath) Then
' importieren eines ganzen Ordners
Dim strPfad As String
Dim FSO As Object
Dim file
Dim lngLR As Long
'********************************
'Anpassen an den Ort wo Dateien abgelegt
strPfad = "C:\"
'********************************
Set FSO = CreateObject("scripting.filesystemobject")
For Each file In FSO.getfolder(strPfad).Files
strFileName = file.Name
strDestination = "A" & Cells(Rows.Count, 1).End(xlUp).Row + 1
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & strPfad & strFileName, Destination:=Range( _
strDestination))
.Name = "Auswertung-Datenlogging"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Next
In der dick markierten Zeile habe ich normal den Pfad zu dem Ordner. Weiß evtl. jemand wie ich das hinkriege?
Vielen Dank Peter :)