Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Import plików txt. z jednego folderu do excella

21 Lip 2010 17:22 6041 19
  • Poziom 9  
    Witam.

    Jestem nowy i mam problem. Czy mogę prosić o pomoc w napisaniu makra, które by importowało dane z plików txt. do jednego arkusza w programie excel.

    Z góry dziękuję za pomoc, pozdrawiam szanownych forumowiczów.
  • Poziom 9  
    Zapomniałem dodać, że tych plików txt będzie sporo ok 2000.
    Złączenie plików przed importem to alternatywa.
  • Poziom 40  
    Ktoś kiedyś na tym forum polecał tą stronę:
    Link
    Spróbuj zastosować to rozwiązanie, wymaga jedynie drobnej przeróbki aby importować dane do jednego arkusza...
  • Poziom 9  
    No właśnie... a chodzi o to, że te nazwy nie będą raczej jednolite, sprawę komplikuje również to, że na podstawie tych zmiennych tekstowych danych będę musiał robić raport co kilka dni.... Dlatego tak mi zależy na programiku,który by ściągał tekst do excela.

    Dodano po 23 [minuty]:

    marcinj12 napisał:
    Ktoś kiedyś na tym forum polecał tą stronę:
    Link
    Spróbuj zastosować to rozwiązanie, wymaga jedynie drobnej przeróbki aby importować dane do jednego arkusza...


    marcinj12, a czy mógłbym Cię prosić o tą drobną przeróbkę, by dane zapisywały się w jednym arkuszu?
  • Poziom 9  
    Dżyszla, no tak nie wspomniałem jaki to ze mnie informatyk\programista :D Po prostu człowiek chce sobie ułatwić życie i szuka różnych sposobności:D
    Ten kod, od marcinaj12 działa, tylko rzeczywiście pakuje dane do różnych arkuszy, gdyby udało się wprowadzić tę "drobną" poprawkę to dopiero by było....

    Dodano po 37 [minuty]:

    Dżyszla zainstalowałem TC czy mogę prosić o wskazówki jak szybko pozmieniać nazwy plików i je spiąć w jeden...?
  • Poziom 9  
    Ok działa, jednak jest jedno ale, teksty z połączonych plików stanowią jednolity, ciągły tekst, a czy można zrobić tak aby każdy scalany tekst zaczynał się od nowej linijki?
  • Poziom 40  
    paweł30 napisał:

    marcinj12, a czy mógłbym Cię prosić o tą drobną przeróbkę, by dane zapisywały się w jednym arkuszu?

    Po przeróbce, uproszczeniu kodu (bez kontroli błędów) i wyszukiwaniu wszystkich plików w folderze wygląda tak:
    Code:

    Application.ScreenUpdating = False
    Set wks = ThisWorkbook.Worksheets("Arkusz1")
    sciezka = "C:\Documents and Settings\Marcin\Pulpit\a"

    wks.Range("A2:IV65536").ClearContents

    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(sciezka).Files

    wiersz = 2
    For Each f2 In f
        With wks
            Open f2 For Input As #1
                Do While Not EOF(1)
                    Line Input #1, linia
                    wks.Cells(wiersz, 1) = linia
                    wiersz = wiersz + 1
                Loop
            Close #1
        End With
    Next
    Application.ScreenUpdating = True
    MsgBox "Koniec"
  • Poziom 9  
    Marcin, nie mogę zainstalować makra, wyskakuje mi komunikat, że nie mam zainstalowanej funkcji False,
    nie kompiluje się
  • Poziom 42  
    1. Otwieramy TC (2 kliknięcia)
    2. Zaznaczamy wszystkie pliki (jedna szara *)
    3. Ctrl+M (2 klawisze)
    4. Wybieramy np wstawianie daty (1 kliknięcie)
    5. Start (1 kliknięcie)
    6. Zamykamy (1 kliknięcie)
    7. Robimy Entery - Ctrl+C, Ctrl+V dla podanego skryptu konsoli, Enter (5 klawiszy)
    8. Scalamy (3 kliknięcia)
    9. Można otwierać w Excelu ;)
  • Poziom 9  
    Dżyszla napisał:
    Po prostu każdy musi się takową kończyć... ale prosty sposób w postaci polecenia konsoli:
    Code:
    for %a in (*.txt) do echo. >> %a

    A można jaśniej, jak krowie na miedzy:D
  • Poziom 9  
    Dżyszla nadal nie wiem o co chodzi... bardzo proszę, łopatologicznie...
  • Pomocny post
    Poziom 42  
  • Pomocny post
    Poziom 40  
    W międzyczasie... ;)
    paweł30 napisał:
    Marcin, nie mogę zainstalować makra, wyskakuje mi komunikat, że nie mam zainstalowanej funkcji False,
    nie kompiluje się

    1. Makr się nie instaluje,
    2. Nie ma funkcji False
    3. Makra się nie kompilują w dosłownym tego słowa znaczeniu
    :)
    Chyba będzie prościej jak wrzucę gotowy plik - jak ten CI też nie będzei działał, to ustaw poziom zabezpieczeń makr na niskie (narzędzia -> Makro -> Zabezpieczenia w office 2003)

    Oczywiście ustawić sobie własną nazwę arkusza do importu i ścieżki w kodzie...
  • Poziom 9  
    Marcinj12 wszystko pięknie działa.
    Chłopaki, serdeczne dzięki za poświęcony czas i pomoc.