Napisz plik tekstowy w Excel VBA
Wszyscy spotykamy się z sytuacją, w której musieliśmy umieszczać ogromne dane w plikach Excela, ale ostatecznie stanęliśmy w obliczu sytuacji, gdy rozmiar tego pliku z dużymi danymi wzrósł tak, że musieliśmy przekonwertować go na tekst plik. Z tego powodu nie mogliśmy ani pracować nad tym plikiem, ani zapisywać pliku w formacie Excel. Tego rodzaju sytuację widzieliśmy w wielu projektach, w których musimy wyodrębnić dane z bazy danych. Wydobycie danych z bazy danych jest możliwe, jeśli do tego celu użyjesz pliku tekstowego. Plik tekstowy nie zostaje zawieszony i możemy przechowywać tyle danych i tabel w jednym pliku tekstowym bez awarii pliku. W tym celu musimy przekonwertować plik Excel na plik tekstowy. Chociaż nie jest to duże zadanie, gdy jest to powtarzalne działanie i może zająć dużo czasu.
Aby tego uniknąć, mamy proces w VBA, dzięki czemu możemy przekonwertować plik programu Excel na plik tekstowy bez szkody dla danych. W ten sposób możemy zapisać ogromny zestaw danych w pliku tekstowym, zmniejszając i kompresując również rozmiar pliku.
Zrozumienie kodu VBA zapisywania pliku tekstowego jest dość złożone, ale nie jest trudne do zrozumienia.
Postępowano zgodnie z:
- Ścieżka pliku: Umieszczenie ścieżki do pliku, w którym mamy plik programu Excel.
- Tryb: W jakim celu musimy otworzyć plik. Może to być tryb tylko do odczytu lub zapis, albo musimy go użyć do dołączania danych.
- Numer pliku: Dzięki temu możemy policzyć, ile czasu wykorzystaliśmy na plik programu Excel w pliku tekstowym.
Jak napisać plik tekstowy w programie Excel VBA?
Dowiemy się, jak napisać plik tekstowy za pomocą kodu VBA w programie Excel z kilkoma przykładami.
Możesz pobrać ten szablon Excel VBA Write Text File Excel tutaj - Szablon Excel VBA Write Text FilePrzykład 1 - VBA Write File Text
W tym przykładzie zobaczymy, jak zamapować lokalizację pliku za pomocą kodu VBA, aby zapisać go w formacie pliku tekstowego. Do tego potrzebny jest moduł.
Krok 1: Przejdź do opcji menu Wstaw i wybierz Moduł, jak pokazano poniżej.
Krok 2: Teraz w otwartym module napisz podkategorię VBA Write Text lub możemy wybrać dowolną nazwę według naszego wyboru.
Kod:
Sub WriteTextFile2 () End Sub
Krok 3: W pierwszym kroku kodowania zadeklaruj zmienną myFile jako String, jak pokazano poniżej.
Kod:
Sub WriteTextFile2 () Dim myFile As String End Sub
Krok 4: W przypisanej zmiennej umieść lokalizację pliku, który musimy przekonwertować z Excela na tekst. Nazwaliśmy ten plik jako Test z rozszerzeniem. txt jak pokazano poniżej.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = "D: \ VPB File \ April Files \ Final location \ Final Input.txt" End Sub
Krok 5: Jak widzieliśmy w opisie zapisu pliku tekstowego VBA, najpierw otworzymy plik programu Excel, a następnie dołączymy dane z programu Excel do pliku tekstowego z poniższym wierszem poleceń.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = "D: \ VPB File \ April Files \ Final location \ Final Input.txt" Otwórz myFile, aby dołączyć jako nr 1 End Sub
Krok 6: Teraz umieśćmy trochę tekstu w pliku tekstowym, który chcielibyśmy zobaczyć, jak pokazano poniżej, za pomocą Write # 1 dla pierwszej tabeli. Wprowadziliśmy losowe marki samochodów o nazwie i specyfikacji modelu.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = "D: \ VPB File \ April Files \ Final location \ Final Input.txt" Otwórz myFile w celu dołączenia jako nr 1 Napisz nr 1, "Ford", "Figo", 1000, " mile ”, 2000 Napisz nr 1, „ Toyota ”, „ Etios ”, 2000, „ mile ”, End Sub
Krok 7: Teraz zamknij pierwszy stół, jak pokazano poniżej.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = "D: \ VPB File \ April Files \ Final location \ Final Input.txt" Otwórz myFile w celu dołączenia jako nr 1 Napisz nr 1, "Ford", "Figo", 1000, " mile ”, 2000 Napisz nr 1, „ Toyota ”, „ Etios ”, 2000, „ mile ”, Zamknij nr 1 End Sub
Krok 8: Chcielibyśmy również zobaczyć komunikat po zakończeniu procesu.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = "D: \ VPB File \ April Files \ Final location \ Final Input.txt" Otwórz myFile w celu dołączenia jako nr 1 Napisz nr 1, "Ford", "Figo", 1000, " mile ”, 2000 Napisz nr 1, „ Toyota ”, „ Etios ”, 2000, „ mile ”, Zamknij nr 1 MsgBox„ Zapisano ”End Sub
Krok 9: Teraz skompiluj kod i uruchom go, klikając przycisk Odtwórz znajdujący się pod paskiem menu, jak pokazano poniżej. Jeśli nie zostanie znaleziony błąd, otrzymamy okno komunikatu z komunikatem Zapisane, jak pokazano poniżej.
Krok 10: Teraz przejdź do lokalizacji, o której wspomnieliśmy w powyższym kodzie, zobaczymy plik tekstowy o nazwie Test, jak pokazano poniżej.
Teraz, aby sprawdzić, czy ten plik tekstowy zawiera te same dane, które wprowadziliśmy przez VBA, otwórz go. Zobaczymy, że te same dane zostały wprowadzone.
Przykład 2 - VBA Write File Text
Istnieje inny sposób na tę samą pracę.
Krok 1: W tym przykładzie użyjemy tego samego kodu, który napisaliśmy powyżej, ale będzie niewielka zmiana w użytym kodzie. Rozważmy ten sam kod, jak pokazano w przykładzie 1.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = Otwórz myFile dla Dołącz jako # 1 Wpisz nr 1, „Ford”, „Figo”, 1000, „mile”, 2000 Napisz nr 1, „Toyota”, „Etios”, 2000, „mile”, Zamknij nr 1 MsgBox „Zapisano” End Sub
Krok 2: Teraz zamiast lokalizacji pliku wybierz aktywny skoroszyt za pomocą ActiveWorkbook, jak pokazano poniżej.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = ActiveWorkbook. Otwórz myFile, aby dodać jako nr 1 Zapis nr 1, „Ford”, „Figo”, 1000, „mile”, 2000 Zapis nr 1, „Toyota”, „Etios”, 2000, „mile”, Zamknij nr 1 MsgBox ”Zapisane " Napis końcowy
Krok 3: Teraz wybierz ścieżkę z rozwijanej listy ActiveWorkBook .
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = ActiveWorkbook.Path Otwórz myFile w celu dołączenia jako # 1 Napisz nr 1, „Ford”, „Figo”, 1000, „mile”, 2000 Napisz nr 1, „Toyota”, „Etios”, 2000, „mile”, Zamknij nr 1 MsgBox „Zapisano” End Sub
Krok 4: Następnie wybierz ścieżkę, w której musimy dołączyć dane do pliku tekstowego oddzielone znakiem ampersand.
Kod:
Sub WriteTextFile2 () Dim myFile As String myFile = ActiveWorkbook.Path & "\ VPB File" Otwórz myFile For Append As # 1 Write # 1, "Ford", "Figo", 1000, "miles", 2000 Write # 1, " Toyota ”, „ Etios ”, 2000, „ mile ”, Close # 1 MsgBox„ Saved ”End Sub
Krok 5: Teraz ponownie skompiluj kod i uruchom go później. Po pomyślnym zakończeniu uruchomienia otrzymamy komunikat jako Zapisany .
Teraz ponownie przejdź do ścieżki, w której trzymaliśmy ten plik zawierający kod i sprawdź, czy plik tekstowy jest tam zapisany, czy nie.
Teraz otwórz plik, aby sprawdzić, czy dane są odpowiednio dołączone, czy nie. Przekonamy się, że dane są dołączane w podobny sposób, jak miało to miejsce w przykładzie 1.
Plusy Excel VBA Napisz plik tekstowy
- Nie musimy nawet otwierać żadnego pliku, aby dołączyć dane.
- Jeśli dane są ogromne, możemy dołączyć dane z Excela do tekstu bez otwierania pliku. Tak więc nie ma problemu z obsługą pliku.
- Jeśli przejdziemy do procesu udostępnionego w przykładzie 2, nie musimy nawet podawać ścieżki, w której chcemy zobaczyć wyjściowy plik tekstowy.
Rzeczy do zapamiętania
- W procesie pokazanym w przykładzie 1 możemy umieścić plik w miejscu, w którym chcemy zobaczyć wynik.
- W procesie pokazanym w przykładzie 2 automatycznie uwzględni lokalizację pliku, który ma kod VBA zapisu pliku tekstowego VBA.
- Możemy nawet wybrać dane z dowolnego pliku Excela, który chcemy przekonwertować w pliku tekstowym.
- Możemy wybrać i utworzyć dowolną liczbę jako tabelę, którą chcemy dołączyć do pliku tekstowego.
Polecane artykuły
Jest to przewodnik po VBA Write Text File. Tutaj omawiamy, jak napisać plik tekstowy w programie Excel za pomocą kodu VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -
- VBA InStr wyjaśniono za pomocą przykładów
- Typ danych VBA Integer
- VBA ISNULL objaśniony przykładami
- Transponuj zakres w VBA