Как создать и записать текстовый файл с помощью vba?
Чтобы создать текст с помощью кода VBA, необходимо использовать метод CreateTextFile. Этот метод позволяет вам указать место, где вы хотите его создать. Этот метод имеет синтаксис, в котором вы можете указать, хотите ли вы перезаписать файл в этом местоположении, и указать, будет ли файл создан как файл Unicode или ASCII.
Создайте текстовый файл с помощью VBA
Используйте следующие шаги:
-  Во-первых, вам нужно использовать объект FileSystemObject или Folder для использования с этим методом. 

 -  После этого вам нужно создать еще один объект с помощью метода CreateTextFile. 

 - В этом коде мы использовали TRUE для перезаписи, если в папке уже есть файл с таким же именем.
 - В конце, когда вы запустите этот макрос, создайте в папке новый текстовый файл следующим образом.
 
 Sub create_text_file() 'object to use as folder Dim fld As Object Set fld = CreateObject("Scripting.FileSystemObject") 'using create text file method Dim myFile As Object Set myFile = fld.CreateTextFile("C:UsersDellDesktopmyFoldermyTextFile.txt", True) End SubСинтаксис метода CreateTextFile
 CreateTextFile (filename, [ overwrite, [ unicode ]])- имя_файла: путь и имя файла, который вы хотите создать.
 - overwrite: логическое значение, определяющее, хотите ли вы перезаписать файл (если он уже существует) (необязательно).
 - unicode: логическое значение, определяющее, создается ли файл как файл Unicode или ASCII (необязательно).
 
Запись в текстовый файл с помощью VBA
Для записи данных в текстовый файл можно использовать два оператора:
-  Запись: с помощью этого оператора вы можете записать данные в текстовый файл, где между значениями будут запятые, строки в кавычках, а даты — знаки #. 

 -  Печать. С помощью этого оператора вы можете записать данные в текстовый файл, который будет выглядеть точно так же, как в электронной таблице Excel. 

 
Теперь мы рассмотрим примеры обоих операторов и поймем, как написать полный код для записи в текстовый файл. Но перед этим вам необходимо разобраться с некоторыми терминами , чтобы писать код так, как вы хотите.
- Для вывода: вы можете использовать эту команду, если хотите записать или изменить данные в текстовом файле.
 - Для ввода: с помощью этой команды вы можете извлечь данные из текста, но не сможете изменять и добавлять данные в файл.
 - Чтобы добавить: Эта команда поможет вам добавить новые данные в конец текстового файла.
 - FreeFile: вы можете использовать это, чтобы установить номер файла, который не используется для текстового файла, который вы хотите использовать, чтобы вы могли ссылаться на него.
 
Теперь напишем код для ввода данных в текстовый файл.
-  Во-первых, вам необходимо объявить переменные, которые будут использоваться в коде. 

 -  После этого вам нужно определить диапазон, который вам нужно записать в текстовый файл. И используйте количество ячеек в диапазоне в качестве счетчика цикла, установив его в переменную. 

 -  Далее вам необходимо задать адрес текстового файла, в который вы хотите добавить данные. 

 -  Далее вам нужно объявить команду «FreeFile» в переменной, чтобы получить номер файла. 

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

 -  Наконец, вам нужно использовать цикл «Для следующего», чтобы получить значения диапазона одно за другим и добавить их в файл. 

 -  Кроме того, вам необходимо использовать команду close, чтобы закрыть текстовый файл после добавления в него данных. 

 -  В конечном итоге, когда вы запускаете этот макрос, он добавляет данные из диапазона A1:A13 в текстовый файл, который вы сохранили по указанному вами пути. 

 
Примечание. Обязательно измените путь к текстовому файлу из кода в соответствии с путем, имеющимся в вашей системе.
 Option Explicit Sub data_to_text_file() 'variables that you need to use in the code Dim TextFile As Integer Dim iCol As Integer Dim myRange As Range Dim cVal As Range Dim i As Integer Dim myFile As String 'define the range that you want to write Set myRange = Range("A1:A13") iCol = myRange.Count 'path to the text file (MAKE SURE TO CHANGE IT) myFile = "C:UsersDellDesktopNewFoldertextfile.txt" 'define FreeFile to the variable file number TextFile = FreeFile 'using append command to add text to the end of the file Open myFile For Output As TextFile 'loop to add data to the text file For i = 1 To iCol Print #TextFile, Cells(i, 1), Print #TextFile, Cells(i, 2) Next i 'close command to close the text file after adding data Close #TextFile End Sub