Текстовый файл записи VBA | Запись данных Excel в текстовые файлы с помощью кода VBA

Текстовый файл записи Excel VBA

В VBA мы можем открывать, читать или записывать текстовый файл, запись текстового файла означает, что данные, которые у нас есть на листе Excel, и мы хотим, чтобы они были в текстовом файле или файле блокнота, есть два способа сделать это, один - с помощью свойства объекта файловой системы VBA, а другой - с помощью метода Open and write в VBA.

В большинстве корпоративных компаний, как только отчет готов, они стараются загрузить отчет в базу данных. Для загрузки в базу данных они используют формат «Текстовые файлы» для обновления базы данных. Обычно мы копируем данные из Excel и вставляем в текстовый файл. Причина, по которой мы полагаемся на текстовые файлы, потому что с ними очень легко работать из-за их легкости и простоты. Используя кодирование VBA, мы можем автоматизировать задачу копирования данных из файла Excel в текстовый файл. В этой статье мы покажем вам, как копировать или записывать данные из файла Excel в текстовый файл с помощью кода VBA.

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

Запись данных из Excel в текст - это сложное кодирование и требует очень хорошего знания кодирования VBA. Выполните следующие шаги, чтобы написать код VBA для копирования данных из Excel в текстовый файл.

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

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

Откройте [Путь к файлу], для [Режим], как [Номер файла]

Путь к файлу: путь к файлу, который мы пытаемся открыть на компьютере.

Режим: Режим - это контроль, который мы можем иметь при открытии текстовых файлов. У нас может быть три типа управления текстовым файлом.

  • Режим ввода: Предлагает « только для чтения » управление открывающимся текстовым файлом. Если мы используем «Режим ввода», мы ничего не сможем сделать с файлом. Мы можем просто прочитать содержимое текстового файла.
  • Режим вывода: используя эту опцию, мы можем писать на нем контент. Здесь нам нужно помнить, что все существующие данные будут перезаписаны. Итак, нам нужно опасаться возможной потери старых данных.
  • Режим добавления: этот режим полностью противоположен режиму вывода. Используя этот метод, мы можем записать новые данные в конец существующих данных в файле.

Номер файла: будет подсчитан номер текстового файла для всех открытых текстовых файлов. Это распознает номера открытых файлов в виде целых чисел от 1 до 511. Назначение номера файла является сложной задачей и приводит к большой путанице. Для этого мы можем использовать бесплатную функцию File.

Free File возвращает уникальный номер для открытых файлов. Таким образом, мы можем присвоить уникальный номер файла без каких-либо повторяющихся значений.

Вы можете скачать этот шаблон текстового файла VBA здесь - Шаблон текстового файла VBA

Пример # 1

Выполните следующие шаги, чтобы написать код для создания нового текстового файла.

Предположим, у вас уже есть текстовый файл с именем «Hello.txt» в хранилище вашего компьютера, и мы покажем вам, как записать в него данные.

Шаг 1: объявить переменную

Объявите переменную для хранения пути к файлу как String.

Код:

 Sub TextFile_Example1 () Уменьшить путь как конец строки Sub 

Шаг 2: Определите номер файла

Чтобы определить номер файла, который мы имеем в виду, необходимо объявить еще одну переменную как Integer.

Код:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer End Sub 

Шаг 3. Назначьте путь к файлу

Теперь для переменной Path назначьте путь к файлу с именем файла.

Код:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Измените путь в соответствии с вашим требованием End Sub 

Шаг 4: Назначьте функцию бесплатного файла

Теперь для переменной «Номер файла» назначьте функцию «Свободный файл» для хранения уникального номера файла.

Код:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Измените путь в соответствии с вашим требованием FileNumber = FreeFile End Sub 

Шаг 5: Откройте текстовый файл

Теперь нам нужно открыть текстовый файл для работы с ним. Как я объяснил, нам нужно использовать оператор OPEN, чтобы открыть текстовый файл.

Шаг 6: используйте метод печати / записи

После открытия файла нам нужно что-то в нем написать. Для записи в текстовый файл нам нужно использовать метод «Запись» или «Печать».

Код:

 Sub TextFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: \ Excel Files \ VBA File \ Hello.txt" 'Измените путь в соответствии с вашим требованием FileNumber = FreeFile Открытый путь для вывода как FileNumber Печать #FileNumber, " Добро пожаловать "Print #FileNumber" в "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 Files\VBA File\Hello.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 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 Files\VBA File\Hello.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 

So, run the code using the F5 key or manually then, it will copy the data like the below.