Temat: Wczytanie wielu plików CSV - problem z literą F

Witam,

do wczytania kilkunastu plików CSV z jednego folderu korzystam z funkcji spod tego linku:
https://www.extendoffice.com/documents/excel/3388-excel...

Parametr .TextFilePlatform = 437 zmieniłem na xlWindows, ustawiłem .TextFileSemicolonDelimiter = True i wyłączyłem .TextFileOtherDelimiter = False

Wszystko działa bez zarzutu, jednak w przypadku pliku CSV zawierającego komórki z literą F makro obcina literę F i wstawia pustą komórkę. Przykład:

plik CSV
Marcin;Kowalski;Polska
Marek;Fraczek;Polska

zostanie wczytane jako
Marcin;Kowalski;Polska
Marek;[TU PUSTA KOMORKA];raczek;Polska

Dlaczego tak się dzieje? Rozwiązanie być może trywialne, niemniej nie udało mi się znaleźć rozwiązania. Nawet nie wiem jak zapytać wyszukiwarkę, aby zbliżyć się do rozwiązania.

Poniżej kod funkcji spod powyższego linku:
Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
Dim xStrPath As String
Dim xFileDialog As FileDialog
Dim xFile As String
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a folder [Kutools for Excel]"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Do While xFile <> ""
xCount = xCount + 1
Sheets(xCount).Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destination:=Range("A1"))
.Name = "a" & xCount
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
xFile = Dir
End With
Loop
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "no files txt", , "Kutools for Excel"
End Sub

Pozdrawiam
Grzegorz
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Wczytanie wielu plików CSV - problem z literą F

Zapewne to figiel firmy: Kutools , której to dzieło jest autorem :)
Choć sam nie widzę problemu w kodzie, to stosuje inną metodę importu.
Może to strona kodowa a może to dziwny delimiter... no ale nie załączyłeś importowanego pliku więc wróżenie z fusów.

Temat: Wczytanie wielu plików CSV - problem z literą F

Dziękuję za odpowiedź.
Załączyłem :-)

Plik CSV:
Marcin;Kowalski;Polska
Marek;Fraczek;Polska

zostanie wczytane jako
Marcin;Kowalski;Polska
Marek;[TU PUSTA KOMORKA];raczek;Polska

A mogę prosić o wskazówki dotyczące Twojej metody?

Pozdrawiam Grzegorz

Temat: Wczytanie wielu plików CSV - problem z literą F

Dodam jeszcze że gdzieś w internecie znalazłem taką wskazówkę że litera F może być traktowana jako TAB i dlatego przeskakuje o jedną komórkę w prawo. Testowałem dla wielu liter F (tylko duże F to powoduje) i wtedy przesuwa o wiele komórek w prawo (ile F o tyle przesuwa)

Grzegorz
Andy L.

Andy L. ITM, VUB

Temat: Wczytanie wielu plików CSV - problem z literą F

może użyj PowerQuery aka Get&Transform z opcją From Folder
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Wczytanie wielu plików CSV - problem z literą F

ok no to jak nie pokonasz porady lewego to polecam: http://vbatools.pl/import-danych-z-plikow-csv-o-standa...

Obrazek
Andy L.

Andy L. ITM, VUB

Temat: Wczytanie wielu plików CSV - problem z literą F

Oskar S.:
ok no to jak nie pokonasz porady lewego

z łaski swojej popraw swój post panie szonTen post został edytowany przez Autora dnia 19.10.19 o godzinie 00:47

Temat: Wczytanie wielu plików CSV - problem z literą F

Oskar S.:
ok no to jak nie pokonasz porady lewego to polecam: http://vbatools.pl/import-danych-z-plikow-csv-o-standa...

Obrazek

Od początku raczej nie zamierzałeś pomóc, tylko sprzedać...

G.
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Wczytanie wielu plików CSV - problem z literą F

Jak pójdziesz do dentysty to on tez chce ci pomóc.
A przecież nie obnosisz się z napisem j***ć dentystów :)

Zaoferowałem mój produkt, który ma ci pomóc, ale to wolny kraj możesz dalej chodzić z bolącym zębem, albo zabrać się do roboty i skończyć studia, przeczytać z 1k książek i dopiero wystaw laurkę.

Temat: Wczytanie wielu plików CSV - problem z literą F

Problem leży w nieprawidłowej interpretacji litery F.
Nie potrafisz tego wyjaśnić, proponujesz natomiast inne rozwiązanie. Nawet jeśli kupię Twój produkt, nie znajdę odpowiedzi na postawione pytanie.

Ale owszem, jeśli przeczytam podaną przez Ciebie ilość może znajdę odpowiedź.

G.
Andy L.

Andy L. ITM, VUB

Temat: Wczytanie wielu plików CSV - problem z literą F

i w ten oto sposób kit-wciskacz dostał po łapkach :)



Wyślij zaproszenie do