Екцел ВБА Писање текстуалне датотеке
У ВБА можемо отворити или читати или писати текстуалну датотеку, писање текстуалне датотеке значи податке које имамо у екцел листу и желимо их у текстуалну датотеку или датотеку бележнице, постоје два начина, један је коришћење својства објекта Филе Систем ВБА, а друго је коришћење методе Опен анд врите у ВБА.
У већини корпоративних компанија, након што извештај буде завршен, гледају да извештај пренесу у базу података. Да би их учитали у базу података, користе формат „Текстуалне датотеке“ за ажурирање базе података. Обично копирамо податке из програма Екцел и налепљујемо их у текстуалну датотеку. Разлог зашто се ослањамо на текстуалне датотеке јер је са њима врло лако радити због лаганих и једноставнијих начина. Коришћењем ВБА кодирања можемо аутоматизовати задатак копирања података из екцел датотеке у текстуалну датотеку. У овом чланку ћемо вам показати како копирати или записати податке из екцел датотеке у текстуалну датотеку помоћу ВБА кода.

Како писати податке у текстуалне датотеке користећи ВБА?
Записивање података из екцела у текст сложено је кодирање и захтева врло добро познавање ВБА кодирања. Следите кораке у наставку за писање ВБА кода за копирање података из Екцела у текстуалну датотеку.
Пре него што вам покажем начин писања кода, објаснићу како да отворим текстуалну датотеку помоћу отворене изјаве.
Синтакса отворене текстуалне датотеке
Отвори (путања датотеке), за (режим), као (број датотеке)
Путања до датотеке : путања до датотеке коју покушавамо да отворимо на рачунару.
Режим: Режим је контрола над отварањем текстуалних датотека. Можемо имати три врсте контроле над текстуалном датотеком.
- Режим уноса: Ово сугерише контролу само за читање почетне текстуалне датотеке. Ако користимо „режим уноса“, не можемо ништа урадити са датотеком. Можемо само прочитати садржај текстуалне датотеке.
- Излазни режим: Користећи ову опцију, можемо да напишемо садржај на њу. Овде морамо имати на уму да ће сви постојећи подаци бити преписани. Дакле, морамо да пазимо на могући губитак старих података.
- Режим додавања : Овај режим је потпуно супротан начину излаза. Користећи ову методу, заправо можемо да запишемо нове податке на крају постојећих података у датотеку.
Број датотеке: Ово ће бројати број текстуалне датотеке свих отворених текстуалних датотека. Ово ће препознати бројеве отворених датотека у целобројним вредностима од 1 до 511. Додељивање броја датотеке је незгодно и доводи до велике забуне. За ово можемо користити бесплатну функцију Филе.
Фрее Филе враћа јединствени број отворених датотека. На овај начин можемо доделити јединствени број датотеке без било каквих дуплираних вредности.
Пример # 1
Следите кораке у наставку за писање кода за стварање нове текстуалне датотеке.
Претпоставимо да сте у меморији рачунара већ имали текстуалну датотеку под називом „Хелло.ткт“, а ми ћемо вам показати како да запишете податке у њу.
Корак 1: Прогласите променљиву
Прогласите променљиву која држи путању до датотеке као Стринг.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као крај низа Суб

Корак 2: Одредите број датотеке
Да бисте утврдили на који се број датотеке позивамо, прогласите још једну променљиву као Интегер.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целобројни крај Суб

Корак 3: Доделите путању до датотеке
Сада за променљиву Патх, доделите путању до датотеке именом датотеке.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целу путању = "Д: Екцел датотеке ВБА датотека Хелло.ткт" 'Промените путању према вашем захтеву Заврши под

Корак 4: Доделите функцију бесплатне датотеке
Сада за променљиву Број датотеке доделите функцију „Бесплатна датотека“ за чување јединствених бројева датотека.
Шифра:
Суб ТектФиле_Екампле1 () Затамни путању као низ Пригуши број датотеке као целу путању = "Д: Екцел датотеке ВБА датотека Хелло.ткт" 'Промените путању према вашем захтеву ФилеНумбер = ФрееФиле Енд Суб

Корак 5: Отворите текстуалну датотеку
Сада треба да отворимо текстуалну датотеку да бисмо са њом радили. Као што сам објаснио, морамо да користимо изјаву ОПЕН да бисмо отворили текстуалну датотеку.

Корак 6: Користите метод штампања / писања
Једном када се датотека отвори, у њу морамо нешто да напишемо. Да бисмо писали у текстуалну датотеку, морамо користити методу „Напиши“ или „Штампај“.
Шифра:
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
Дакле, покрените код помоћу тастера Ф5 или ручно. Затим ће копирати податке у наставку.
