Adam Rejdak

Adam Rejdak Pracownik magazynu,
RTV EURO AGD

Temat: [Excel VBA] Zapis z Excela do pliku .txt

Witam wszystkich forumowiczów.

Proszę o wyrozumiałość, ale dopiero od kilku dni zagłębiam się w temat VBA i jak na razie nie potrafię sobie poradzić.
Moja znajomość makr ograniczała się dotychczas wyłącznie do ich nagrywania :)
Przestaje mi to wystarczać, więc zacząłem czytać na temat VBA i pisania prostych makr, ale idzie to nie tak szybko, jakbym chciał.

Używam Excela w wersji 2007

Mam problem z napisaniem makra, które wykona następujące operacje:

W arkuszu dane zawarte są sąsiadująco w dwóch kolumnach (przykładowo A i B)
makro powinno działać w następujący sposób:

zapisać dane z komórki B1 do pliku .txt z kodowaniem UTF-8, przykładowo do folderu Test zlokalizowanego na pulpicie
przy czym
nazwa pliku .txt musi być wzięta z komórki A1
następnie
zapisać dane z komórki B2 do pliku .txt jak wyżej z nazwą pliku z komórki A2
następnie
zapisać dane z komórki B3...

i tak dalej
ma działać tak długo, aż napotka pustą komórkę w kolumnie B

wtedy ma zakończyć działanie

na razie korzystam z makra, które nagrałem w Excelu - ze wszystkimi z tego wynikającymi niedogodnościami - stała liczba rekordów, podczas gdy ilość danych w kolumnach się zmienia, brak odpowiedniej nazwy pliku txt i zapis do .txt z kodowaniem Unicode...

będę naprawdę wdzięczny za pomoc, próbowałem coś sklecić samemu w VBA, ale, tak jak napisałem, przerasta to na razie moje możliwości.

Odnośnie zapisu do pliku .txt z kodowaniem UTF-8 znalazłem na forum coś takiego:

http://www.goldenline.pl/grupy/Zainteresowania/fani-ex...

mnie niestety niewiele to dało, ale może będzie przydatne dla znalezienia rozwiązania.
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: [Excel VBA] Zapis z Excela do pliku .txt

Odpal F1 w developerze VBA i znajdź instrukcje "Open file for" lub operacje realizowane na kontrolce FSO.
Jeśli nie chcesz sam się pochylić nad problemem wg podanych wskazówek zleć komuś taką pracę.
W sumie wszyscy wiemy jak wyrwać trzonowca - jednak sami zawsze idziemy z tym do specjalisty.
Mateusz M.

Mateusz M. Mateusz M.

Temat: [Excel VBA] Zapis z Excela do pliku .txt

Cześć
Czy coś takiego poszukujesz?


Sub kod()

i = 1
stEncoding = "UTF-8"

Do
File_name = Cells(i, 1).Value
Path1 = "C:\Programy\PLIKI\" & File_name & ".txt"

Set fso = CreateObject("ADODB.Stream")
With fso
.Type = 2
.Charset = stEncoding
.Open
.WriteText Cells(i, 2).Value
.SaveToFile Path1, 2
End With
Set fso = Nothing

i = i + 1

Loop Until IsEmpty(Cells(i, 2))

End Sub
Adam Rejdak

Adam Rejdak Pracownik magazynu,
RTV EURO AGD

Temat: [Excel VBA] Zapis z Excela do pliku .txt

Mateusz M. - tak, dokładnie o to mi chodziło. Naprawdę wielkie dzięki. W międzyczasie próbowałem sklecić coś samemu, porównam sobie Twój kod z moimi próbami. Dla mnie to super materiał do dalszej nauki. Jeszcze raz bardzo dziękuję.

Następna dyskusja:

VBA - Generowanie pliku txt...




Wyślij zaproszenie do