Вы также можете прочитать файл Excel и записать содержимое ячейки в текстовый файл, используя VBA. VBA позволяет пользователям работать с текстовыми файлами двумя способами:
- Объект файловой системы
- используя команду записи
Объект файловой системы (FSO)
Как следует из названия, FSO помогают разработчикам работать с дисками, папками и файлами. В этом разделе мы обсудим, как использовать FSO.
Sr.No. | Тип объекта и описание |
---|---|
1 |
Привод Драйв — это объект. Содержит методы и свойства, которые позволяют собирать информацию о диске, подключенном к системе. |
2 |
приводы Диски это коллекция. Он предоставляет список дисков, подключенных к системе, физически или логически. |
3 |
файл Файл является объектом. Он содержит методы и свойства, которые позволяют разработчикам создавать, удалять или перемещать файл. |
4 |
файлы Файлы это коллекция. Он предоставляет список всех файлов, содержащихся в папке. |
5 |
скоросшиватель Папка — это объект. Он предоставляет методы и свойства, которые позволяют разработчикам создавать, удалять или перемещать папки. |
6 |
Папки Папки это коллекция. Он предоставляет список всех папок в папке. |
7 |
TextStream TextStream — это объект. Это позволяет разработчикам читать и писать текстовые файлы. |
Привод
Драйв — это объект. Содержит методы и свойства, которые позволяют собирать информацию о диске, подключенном к системе.
приводы
Диски это коллекция. Он предоставляет список дисков, подключенных к системе, физически или логически.
файл
Файл является объектом. Он содержит методы и свойства, которые позволяют разработчикам создавать, удалять или перемещать файл.
файлы
Файлы это коллекция. Он предоставляет список всех файлов, содержащихся в папке.
скоросшиватель
Папка — это объект. Он предоставляет методы и свойства, которые позволяют разработчикам создавать, удалять или перемещать папки.
Папки
Папки это коллекция. Он предоставляет список всех папок в папке.
TextStream
TextStream — это объект. Это позволяет разработчикам читать и писать текстовые файлы.
Привод
Диск — это объект, который обеспечивает доступ к свойствам конкретного диска или общей сетевой папки. Следующие свойства поддерживаются объектом Drive —
- Доступное пространство
- DriveLetter
- Тип вождения
- Файловая система
- Свободное место
- Готов
- Дорожка
- Корневая папка
- Серийный номер
- ShareName
- Общий размер
- VolumeName
пример
Шаг 1. Прежде чем приступить к написанию сценариев с использованием FSO, мы должны включить Microsoft Scripting Runtime. Чтобы сделать то же самое, перейдите в Инструменты → Ссылки, как показано на следующем снимке экрана.
Шаг 2. Добавьте «Microsoft Scripting RunTime» и нажмите «ОК».
Шаг 3 — Добавьте данные, которые вы хотели бы записать в текстовый файл, и добавьте командную кнопку.
Шаг 4 — Теперь пришло время для сценария.
Private Sub fn_write_to_text_Click() Dim FilePath As String Dim CellData As String Dim LastCol As Long Dim LastRow As Long Dim fso As FileSystemObject Set fso = New FileSystemObject Dim stream As TextStream LastCol = ActiveSheet.UsedRange.Columns.Count LastRow = ActiveSheet.UsedRange.Rows.Count ' Create a TextStream. Set stream = fso.OpenTextFile("D:\Try\Support.log", ForWriting, True) CellData = "" For i = 1 To LastRow For j = 1 To LastCol CellData = Trim(ActiveCell(i, j).Value) stream.WriteLine "The Value at location (" & i & "," & j & ")" & CellData Next j Next i stream.Close MsgBox ("Job Done") End Sub
Выход
При выполнении сценария убедитесь, что курсор помещен в первую ячейку рабочего листа. Файл Support.log создается, как показано на следующем снимке экрана в разделе «D: \ Try».
Содержимое файла показано на следующем снимке экрана.
Написать команду
В отличие от FSO, нам НЕ нужно добавлять ссылки, однако мы НЕ сможем работать с дисками, файлами и папками. Мы сможем просто добавить поток в текстовый файл.
пример
Private Sub fn_write_to_text_Click() Dim FilePath As String Dim CellData As String Dim LastCol As Long Dim LastRow As Long LastCol = ActiveSheet.UsedRange.Columns.Count LastRow = ActiveSheet.UsedRange.Rows.Count FilePath = "D:\Try\write.txt" Open FilePath For Output As #2 CellData = "" For i = 1 To LastRow For j = 1 To LastCol CellData = "The Value at location (" & i & "," & j & ")" & Trim(ActiveCell(i, j).Value) Write #2, CellData Next j Next i Close #2 MsgBox ("Job Done") End Sub
Выход
После выполнения сценария файл «write.txt» создается в папке «D: \ Try», как показано на следующем снимке экрана.
Содержимое файла показано на следующем снимке экрана.