Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek 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

paweł30 21 Lip 2010 17:22 5258 19
  • #1 21 Lip 2010 17:22
    paweł30
    Poziom 8  

    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.

    0 19
  • #3 21 Lip 2010 17:35
    paweł30
    Poziom 8  

    Zapomniałem dodać, że tych plików txt będzie sporo ok 2000.
    Złączenie plików przed importem to alternatywa.

    0
  • #5 21 Lip 2010 18:33
    marcinj12
    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...

    0
  • #6 21 Lip 2010 18:59
    paweł30
    Poziom 8  

    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?

    0
  • #8 21 Lip 2010 20:19
    paweł30
    Poziom 8  

    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...?

    0
  • #10 21 Lip 2010 20:49
    paweł30
    Poziom 8  

    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?

    0
  • #11 21 Lip 2010 20:51
    marcinj12
    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"

    0
  • #13 21 Lip 2010 21:06
    paweł30
    Poziom 8  

    Marcin, nie mogę zainstalować makra, wyskakuje mi komunikat, że nie mam zainstalowanej funkcji False,
    nie kompiluje się

    0
  • #14 21 Lip 2010 21:12
    Dżyszla
    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 ;)

    0
  • #15 21 Lip 2010 21:18
    paweł30
    Poziom 8  

    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

    0
  • #17 21 Lip 2010 21:26
    paweł30
    Poziom 8  

    Dżyszla nadal nie wiem o co chodzi... bardzo proszę, łopatologicznie...

    0
  • Pomocny post
    #18 21 Lip 2010 21:31
    Dżyszla
    Poziom 42  

    Ech, pokolenie Windowsa :(
    http://www.centrumxp.pl/WindowsXP/249,1,kategoria,Wiersz_polece%C5%84.aspx
    http://www.pcworld.pl/news/58730/Wiersz.polecen.Windows.XP.html
    http://www.pcworld.pl/artykuly/43530/Windows.od.podszewki.html

    i trochę o DOSie proponuję poczytać...

    0
  • Pomocny post
    #19 22 Lip 2010 08:30
    marcinj12
    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...

    2
  • #20 22 Lip 2010 08:50
    paweł30
    Poziom 8  

    Marcinj12 wszystko pięknie działa.
    Chłopaki, serdeczne dzięki za poświęcony czas i pomoc.

    0