Textový súbor VBA - Zápis údajov programu Excel do textových súborov pomocou kódu VBA

Textový súbor Excel VBA

Vo VBA môžeme otvoriť alebo prečítať alebo napísať textový súbor, napísať textový súbor znamená údaje, ktoré máme v excelovom hárku a chceme ich do textového súboru alebo do súboru poznámkového bloku. Existujú dva spôsoby, jeden je pomocou vlastnosti objektu Súborový systém VBA a ďalším je použitie metódy Open and write vo VBA.

Vo väčšine korporátnych spoločností sa po dokončení správy snažia správu nahrať do databázy. Na nahranie do databázy používajú na aktualizáciu databázy formát „Textové súbory“. Údaje zvyčajne skopírujeme z programu Excel a prilepíme do textového súboru. Dôvod, prečo sa spoliehame na textové súbory, pretože s nimi je veľmi ľahké pracovať kvôli ich ľahkému a jednoduchšiemu spôsobu. Použitím kódovania VBA môžeme automatizovať úlohu kopírovania údajov zo súboru programu Excel do textového súboru. V tomto článku si ukážeme, ako kopírovať alebo zapisovať údaje zo súboru programu Excel do textového súboru pomocou kódu VBA.

Ako zapisovať údaje do textových súborov pomocou VBA?

Zápis dát z programu Excel do textu je zložité kódovanie a vyžaduje veľmi dobrú znalosť kódovania VBA. Podľa nasledujúcich pokynov napíšete kód VBA na kopírovanie údajov z programu Excel do textového súboru.

Predtým, ako vám ukážem spôsob, ako napísať kód, dovoľte mi vysvetliť, ako otvoriť textový súbor pomocou príkazu open.

Syntax otvoreného textového súboru

Otvoriť (Cesta k súboru), Pre (Režim), Ako (Číslo súboru)

Cesta k súboru: Cesta k súboru, ktorý sa pokúšame otvoriť v počítači.

Režim: Režim je kontrola, ktorú môžeme mať nad otváraním textových súborov. Môžeme mať tri typy kontroly nad textovým súborom.

  • Režim zadávania: Navrhuje sa kontrola úvodného textového súboru „ iba na čítanie “. Ak použijeme režim vstupu, nemôžeme so súborom nič robiť. Môžeme si len prečítať obsah textového súboru.
  • Režim výstupu: Pomocou tejto možnosti môžeme na ňu zapísať obsah. Tu si musíme pamätať, že všetky existujúce údaje budú prepísané. Musíme si preto dať pozor na možnú stratu starých údajov.
  • Append Mode: Tento režim je úplne opačný k režimu OutPut. Pomocou tejto metódy môžeme skutočne zapísať nové údaje na koniec existujúcich údajov v súbore.

Číslo súboru: Týmto sa spočíta číslo textového súboru všetkých otvorených textových súborov. Toto rozpozná otvorené čísla súborov v celočíselných hodnotách od 1 do 511. Priradenie čísla súboru je zložité a vedie k mnohým nejasnostiam. K tomu môžeme využiť bezplatnú funkciu Súbor.

Free File vráti jedinečné číslo pre otvorené súbory. Týmto spôsobom môžeme priradiť jedinečné číslo súboru bez akýchkoľvek duplicitných hodnôt.

Príklad č

Podľa nasledujúcich pokynov napíšte kód a vytvorte nový textový súbor.

Predpokladajme, že ste v úložisku počítača už mali textový súbor s názvom „Hello.txt“, a my vám ukážeme, ako doň zapísať údaje.

Krok 1: Deklarujte premennú

Deklarujte premennú, ktorá bude mať cestu k súboru ako reťazec.

Kód:

Sub TextFile_Example1 () Dim cesta ako reťazec End Sub
Krok 2: Určite číslo súboru

Ak chcete zistiť, na ktoré číslo súboru odkazujeme, deklarujte jednu ďalšiu premennú ako Celé číslo.

Kód:

Sub TextFile_Example1 () Stlmiť cestu ako reťazec Stlmiť číslo súboru ako celé číslo Koniec Sub
Krok 3: Priraďte cestu k súboru

Teraz pre premennú Cesta priraďte cestu k súboru s názvom súboru.

Kód:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Zmeňte cestu podľa svojich požiadaviek End Sub
Krok 4: Priradenie funkcie voľných súborov

Teraz pre premennú Číslo súboru priraďte funkciu „Voľný súbor“ na ukladanie jedinečných čísel súborov.

Kód:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Zmeňte cestu podľa svojich požiadaviek FileNumber = FreeFile End Sub
Krok 5: Otvorte textový súbor

Teraz musíme otvoriť textový súbor, aby sme s ním mohli pracovať. Ako som už vysvetlil, na otvorenie textového súboru musíme použiť príkaz OPEN.


Krok 6: Použite metódu tlače / zápisu

Po otvorení súboru musíme do neho niečo napísať. Na zápis do textového súboru musíme použiť buď metódu „Write“, alebo „Print“.

Kód:

Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" End Sub

First, we need to mention the file number (here we have assigned the file through the “filenumber” variable), then we need to add the content we want to add to a text file.

Step 7: Save and Close Text File

Once the content is written in a text file, we need to save and close the text file.

Code:

Sub TextFile_Example1() Dim Path As String Dim FileNumber As Integer Path = "D:Excel FilesVBA FileHello.txt" 'Change the path as per your requirement FileNumber = FreeFile Open Path For Output As FileNumber Print #FileNumber, "Welcome" Print #FileNumber, "to" Print #FileNumber, "VBA" Close FileNumber End Sub

Now, run the code this manually or through shortcut excel key F5. It will write the mentioned content in the mentioned text file.

Example #2

Now we will see how to write the data of excel sheet to a text file.

For this example, I have created simple data in excel like below.

Step 1: With the continuation of the old example, define two more variables as Integer to find the last row and last column.

Code:

Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer End Sub

Step 2: Find the last used row and column in the worksheet.

Step 3: Now assign the file path and file number.

Step 4: Now, use the OPEN statement to open the text file.

Step 5: We need to loop through rows and columns, so declare two more variables as Integer.

Step 6: Now open Loop to loop through the row (For next loop in VBA)

Step 7: Now, to loop through columns, open one more loop inside the existing loop.

Step 8: We need to write the same line of data until it reaches the last column. So for this, apply the IF statement in VBA.

Step 9: Now, save and close the text file.

This code will write the details to a text file, but to open the text file after written, we need to use the below code.

Code:

Sub TextFile_Example2() Dim Path As String Dim FileNumber As Integer Dim LR As Integer Dim LC As Integer Dim k As Integer Dim i As Integer LR = Worksheets("Text").Cells(Rows.Count, 1).End(xlUp).Row LC = Worksheets("Text").Cells(1, Columns.Count).End(xlToLeft).Column Path = "D:Excel FilesVBA FileHello.txt" FileNumber = FreeFile Open Path For Output As FileNumber For k = 1 To LR For i = 1 To LC If i LC Then Print #FileNumber, Cells(i, k), Else Print #FileNumber, Cells(i, k) End If Next i Next k Close FileNumber Shell "notepad.exe " & Path, vbNormalFocus End Sub

Spustite teda kód pomocou klávesu F5 alebo ručne. Potom skopíruje údaje uvedené nižšie.

Zaujímavé články...