Метод CreateTextFile
Создает указанное имя файла и возвращает объект TextStream , который можно использовать для чтения или записи в файл.
Синтаксис
object. CreateTextFile (имя файла, [ перезапись, [ юникод ]])
Синтаксис метода CreateTextFile состоит из следующих частей:
| Part | Описание |
|---|---|
| object | Обязательно. Всегда имя объекта FileSystemObject или Folder . |
| Имени файла | Обязательно. Строковое выражение, определяющее файл, который требуется создать. |
| Перезаписать | Необязательный параметр. Значение Boolean, указывающее, требуется ли перезаписывать существующий файл. Имеет значение True, если файл можно перезаписать, и False в противном случае. Если этот параметр опущен, существующие файлы могут быть перезаписаны. |
| Юникода | Необязательный параметр. Значение Boolean, указывающее, будет ли файл создан в формате Юникод или ASCII. Значение True, если файл будет создан в формате Юникод, значение False, если требуется создать ASCII-файл. Если этот элемент опущен, создается ASCII-файл. |
Замечания
В следующем коде показано, как использовать метод CreateTextFile для создания и открытия текстового файла. Если аргумент overwrite имеет значение False или не задан, то значение атрибута filename, указывающее на существующий файл, приведет к возникновению ошибки.
Sub CreateAfile Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("c:\testfile.txt", True) a.WriteLine("This is a test.") a.Close End Sub
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обратная связь
Были ли сведения на этой странице полезными?
Как из vba открыть блокнот
Наверно можно смело утверждать, что умение читать и записывать информацию в текстовый файл это основа импорта и экспорта 🙂 Практически любая серьезная программа хранящая информацию позволяет сохранить её в текстовом формате, какое бы он расширение не имел. Открываются файлы командой Open.
Sub Test() Open "c:\1.txt" For Input As #1 Close #1 End Sub
Команда Open может открывать для чтения Input и для записи Output. Цифра после as это идентификатор файла. На основании его производится чтение и запись файла.
Следующий пример демонстрирует запись и чтение файла
Sub Test() Open "c:\1.txt" For Output As #1 Print #1, "Hello File" Close #1 Open "c:\1.txt" For Input As #1 Dim s As String Input #1, s MsgBox s Close #1 End Sub
Как видите, для записи можно использовать Print, а для чтения Input воспользовавшись идентификатором открытого файла. Естественно здесь свои тонкости работы. Вот, если Вы запишите такую строку:
. Print #1, "Hello , File" .
То оператор Input #1 прочитает только Hello и все. Запятая воспринимается как разделитеть. И это правильно. Есть форматы текстовых файлов когда числа разделены запятой. В коде ниже:
. Input #1, s MsgBox s Input #1, s MsgBox s .
Последовательно выведутся надписи Hello и File, но с этим можно бороться оператором Line Input.
Sub Test() Open "c:\1.txt" For Output As #1 Print #1, "Hello , File" Close #1 Open "c:\1.txt" For Input As #1 Dim s As String Line Input #1, s MsgBox s Close #1 End Sub
Этот код прочитает строку целиком. Следом возникает важный вопрос, а как узнать конец файла ? Для этого есть функция EOF(идентификатор), которая позволяет вам определить конец файла.
Sub Test() Open "c:\1.txt" For Output As #1 Print #1, "Hello , File" Close #1 Open "c:\1.txt" For Input As #1 Dim s As String While Not EOF(1) Input #1, s MsgBox s Wend Close #1 End Sub
Как из vba открыть блокнот
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Функции для работы с текстовыми файлами
Данные функции предназначены для работы с текстовыми файлами из VBA Excel.
Используя эти функции, вы при помощи одной строки кода сможете записать текст из переменной в файл, или наоборот, загрузить содержимое текстового файла в переменную.
Подразумевается, что текстовые файлы имеют формат ANSI (он же ASCII, он же windows-1251)
ВНИМАНИЕ: См. также функции чтения и сохранения текста в файл в заданной кодировке
Чтение текстового файла в переменную:
Function ReadTXTfile(ByVal filename As String) As String Set fso = CreateObject("scripting.filesystemobject") Set ts = fso.OpenTextFile(filename, 1, True): ReadTXTfile = ts.ReadAll: ts.Close Set ts = Nothing: Set fso = Nothing End Function
Запись в текстовый файл из переменной:
Function SaveTXTfile(ByVal filename As String, ByVal txt As String) As Boolean On Error Resume Next: Err.Clear Set fso = CreateObject("scripting.filesystemobject") Set ts = fso.CreateTextFile(filename, True) ts.Write txt: ts.Close SaveTXTfile = Err = 0 Set ts = Nothing: Set fso = Nothing End Function
Добавление в текстовый файл из переменной:
Function AddIntoTXTfile(ByVal filename As String, ByVal txt As String) As Boolean On Error Resume Next: Err.Clear Set fso = CreateObject("scripting.filesystemobject") Set ts = fso.OpenTextFile(filename, 8, True): ts.Write txt: ts.Close Set ts = Nothing: Set fso = Nothing AddIntoTXTfile = Err = 0 End Function
- 109842 просмотра