VBA Писане на текстов файл - Напишете данни на Excel в текстови файлове, като използвате VBA код

Excel VBA Напишете текстов файл

Във VBA можем да отворим или прочетем или напишем текстов файл, да напишем текстов файл означава данните, които имаме в Excel файл и ги искаме в текстов файл или файл на бележник, има два метода, един от които използването на свойството на обект на файлова система на VBA и друго е чрез използване на метода Open and write в VBA.

В повечето корпоративни компании, след като отчетът е финализиран, те гледат да го качат в базата данни. За качване в базата данни те използват формата „Текстови файлове“ за актуализиране на базата данни. Обикновено копираме данните от Excel и ги поставяме в текстов файл. Причината, поради която разчитаме на текстови файлове, защото с тях е много лесно да се работи, поради леките и опростени начини. Използвайки VBA кодиране, можем да автоматизираме задачата за копиране на данни от Excel файл в текстов файл. В тази статия ще ви покажем как да копирате или записвате данни от файл на Excel в текстов файл с помощта на VBA код.

Как да записвам данни в текстови файлове с помощта на VBA?

Записването на данни от Excel в текст е сложно кодиране и изисква много добро познаване на VBA кодирането. Следвайте стъпките по-долу, за да напишете кода на VBA, за да копирате данни от Excel в текстов файл.

Преди да ви покажа начина за писане на кода, позволете ми да обясня как да отворите текстовия файл с помощта на отворено изявление.

Синтаксис на отворен текстов файл

Отваряне (път на файла), за (режим), като (номер на файла)

Файлов път: Пътят на файла, който се опитваме да отворим на компютъра.

Режим: Режимът е контролът, който можем да имаме върху отварянето на текстови файлове. Можем да имаме три вида контрол върху текстовия файл.

  • Режим на въвеждане: Това предполага контрол „ Само за четене “ на отварящия се текстов файл. Ако използваме “Input Mode”, не можем да направим нищо с файла. Можем просто да прочетем съдържанието на текстовия файл.
  • Изходен режим: Използвайки тази опция, можем да напишем съдържанието върху нея. Тук трябва да запомним, че всички съществуващи данни ще бъдат заменени. И така, трябва да се пазим от възможната загуба на стари данни.
  • Режим на добавяне: Този режим е напълно противоположен на режима OutPut. Използвайки този метод, ние всъщност можем да запишем новите данни в края на съществуващите данни във файла.

Номер на файла: Това ще отчита номера на текстовия файл на всички отворени текстови файлове. Това ще разпознае отворените номера на файлове в целочислени стойности от 1 до 511. Присвояването на номера на файла е сложно и води до много объркване. За това можем да използваме безплатната функция File.

Free File връща уникалния номер за отворените файлове. По този начин можем да присвоим уникалния номер на файла без никакви дублиращи се стойности.

Пример # 1

Следвайте стъпките по-долу, за да напишете кода, за да създадете нов текстов файл.

Да предположим, че вече сте имали текстов файл с име „Hello.txt“ в паметта на вашия компютър и ние ще ви покажем как да запишете данните в него.

Стъпка 1: Деклариране на променлива

Декларирайте променливата, която да държи пътя на файла като String.

Код:

Sub TextFile_Example1 () Затъмняване на пътя като край на низ
Стъпка 2: Определете номера на файла

За да определите кой номер на файл визираме, декларирайте още една променлива като Integer.

Код:

Подтекст TextFile_Example1 () Затъмняване на път като низ Dim DimNumber като цяло число Край
Стъпка 3: Присвояване на файлов път

Сега за променливата Path задайте пътя на файла с име на файл.

Код:

Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Променете пътя според вашето изискване End Sub
Стъпка 4: Присвояване на безплатна файлова функция

Сега за променливата File Number задайте функцията “Free File” за съхраняване на уникални номера на файлове.

Код:

Sub TextFile_Example1 () Затъмняване на пътя като низ Dim FileNumber As Integer Path = "D: Excel Files VBA File Hello.txt" 'Променете пътя според вашето изискване FileNumber = FreeFile End Sub
Стъпка 5: Отворете текстов файл

Сега трябва да отворим текстовия файл, за да работим с него. Както обясних, трябва да използваме оператора OPEN, за да отворим текстовия файл.


Стъпка 6: Използвайте метода Print / Write

След като файлът се отвори, трябва да напишем нещо в него. За да напишем в текстовия файл, трябва да използваме или метода „Писане“ или „Печат“.

Код:

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

Така че, стартирайте кода с помощта на клавиша F5 или ръчно. След това ще копира данните по-долу.

Интересни статии...