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 File

Przykł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 -

  1. VBA InStr wyjaśniono za pomocą przykładów
  2. Typ danych VBA Integer
  3. VBA ISNULL objaśniony przykładami
  4. Transponuj zakres w VBA

Kategoria: