Vba как открыть файл по умолчанию
Ниже приведен справочник по объекту FileSystemObject, который умеет работать с файлами, каталогами, файловыми потоками. Данный объект позволяет читать файлы, писать в файлы, получать информацию о файлах и др. Данный объект используется в ОС Windows, в некоторых скриптовых языках.
1. Создание объекта
2. Свойства
2.1. Drives
Замечание: только чтение.
3. Методы
3.1. CreateFolder
Назначение: создаёт каталог с указанным именем.
3.2. CopyFile
Назначение: копирует один или несколько файлов.
3.3. CopyFolder
Назначение: рекурсивно копирует каталог.
Описание: процесс копирования прерывается после первой возникшей ошибки.
3.4. MoveFile
Назначение: перемещает один или несколько файлов.
Описание: процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый файл уже существует или является папкой в Destination, возникнет ошибка.
3.5. MoveFolder
Назначение: рекурсивно перемещает один или несколько каталогов.
Описание: процесс перемещения прерывается после первой возникшей ошибки. Если перемещаемый каталог уже существует или является файлом в Destination, возникнет ошибка.
3.6. DeleteFile
Назначение: удаляет указанный файл.
3.7. DeleteFolder
Назначение: удаляет указанную папку.
3.8. BuildPath
3.9. GetAbsolutePathName
Назначение: возвращает полный путь для заданного относительного пути (из текущего каталога).
3.10. GetBaseName
Назначение: возвращает имя (без расширения) последнего компонента в заданном пути.
3.11. GetExtensionName
Назначение: возвращает расширение последнего компонента в заданном пути.
3.12. GetFileName
Назначение: возвращает имя (с расширением) последнего компонента в заданном пути.
3.13. GetParentFolderName
Назначение: возвращает путь к последнему компоненту в заданном пути (его каталог).
3.14. GetDriveName
Назначение: возвращает имя диска в заданном пути.
3.15. DriveExists
Назначение: возвращает True, если указанный диск сущесвтвует, и False в противном случае.
Назначение: возвращает True, если указанный файл сущесвтвует, и False в противном случае.
Назначение: возвращает True, если указанный каталог сущесвтвует, и False в противном случае.
3.19. GetFile
Описание: если файл не существует, произойдёт ошибка.
3.20. GetFolder
Описание: если каталог не существует, произойдёт ошибка.
3.21. GetSpecialFolder
Описание: если каталог не существует, произойдёт ошибка.
3.22. GetTempName
Назначение: возвращает случайным образом сгенерированное имя файла, которое может быть использовано для создания временного файла.
3.23. CreateTextFile
3.24. OpenTextFile
3.25. GetStandardStream
Описание: метод применим при запуске административного скрипта в консоли с помощью CScript.exe.
3.26. GetFileVersion
Назначение: возвращает номер версии исполняемого файла (строка).
4. Объект Drive
4.1. Создание объекта
4.2. Свойства
4.2.1. AvailableSpace
Замечание: только чтение.
4.2.2. DriveLetter
Замечание: только чтение.
4.2.3. DriveType
Замечание: только чтение.
4.2.4. FileSystem
Замечание: только чтение.
4.2.5. FreeSpace
Замечание: только чтение.
4.2.6. IsReady
Замечание: только чтение.
4.2.7. Path
Замечание: только чтение.
4.2.8. RootFolder
Замечание: только чтение.
4.2.9. SerialNumber
Замечание: только чтение.
4.2.10. ShareName
Замечание: только чтение.
4.2.11. TotalSize
Замечание: только чтение.
4.2.12. VolumeName
Замечание: чтение и запись.
5. Объект File
5.1. Создание объекта
5.2. Свойства
5.2.1. Attributes
Возвращаемое значение: число, набор флагов атрибутов файла. Флаги:
Замечание: чтение и запись или только чтение, в зависимости от атрибута.
Возвращаемое значение: дата создания файла.
Замечание: только чтение.
5.2.3. DateLastAccessed
Возвращаемое значение: дата последнего доступа к файлу.
Замечание: только чтение.
5.2.4. DateLastModified
Возвращаемое значение: дата последней модификации файла.
Замечание: только чтение.
5.2.5. Drive
Замечание: только чтение.
5.2.6. Name
Возвращаемое значение: имя файла.
Замечание: чтение и запись.
5.2.7. ParentFolder
Замечание: только чтение.
5.2.8. Path
Возвращаемое значение: полный путь к файлу.
Замечание: только чтение.
5.2.9. ShortName
Возвращаемое значение: короткое имя файла в формате 8.3.
Замечание: только чтение.
5.2.10. ShortPath
Возвращаемое значение: короткий путь к файлу в формате 8.3.
Замечание: только чтение.
5.2.11. Size
Возвращаемое значение: размер файла в байтах.
Замечание: только чтение.
5.2.12. Type
Возвращаемое значение: тип файла. Информация, похожая на ту, которую можно увидеть в палитре свойств файла в проводнике.
Замечание: только чтение.
5.3. Методы
5.3.1. Copy
Назначение: копирует файл в указанное место.
5.3.2. Move
Назначение: перемещает файл в указанное место.
5.3.3. Delete
Назначение: удаляет файл.
5.3.4. OpenAsTextStream
6. Объект Folder
6.1. Создание объекта
6.2. Свойства
6.2.1. Attributes
Возвращаемое значение: число, набор флагов атрибутов папки. Флаги:
Замечание: чтение и запись или только чтение, в зависимости от атрибута.
Возвращаемое значение: дата создания каталога.
Замечание: только чтение.
6.2.3. DateLastAccessed
Возвращаемое значение: дата последнего доступа к каталогу.
Замечание: только чтение.
6.2.4. DateLastModified
Возвращаемое значение: дата последней модификации каталога.
Замечание: только чтение.
6.2.5. Drive
Замечание: только чтение.
6.2.6. IsRootFolder
Возвращаемое значение: булево (число). Признак того, является ли каталог корневым.
Замечание: только чтение.
6.2.7. Name
Возвращаемое значение: имя каталога.
Замечание: чтение и запись.
6.2.8. ParentFolder
Замечание: только чтение.
6.2.9. Path
Возвращаемое значение: полный путь к каталогу.
Замечание: только чтение.
6.2.10. ShortName
Возвращаемое значение: короткое имя каталога в формате 8.3.
Замечание: только чтение.
6.2.11. ShortPath
Возвращаемое значение: короткий путь к каталогу в формате 8.3.
Замечание: только чтение.
6.2.12. Size
Возвращаемое значение: размер всех файлов и подкаталогов, входящих в данный каталог, в байтах.
Замечание: только чтение.
6.2.13. Type
Возвращаемое значение: тип каталога. Информация, похожая на ту, которую можно увидеть в палитре свойств каталога в проводнике.
Замечание: только чтение.
6.2.14. SubFolders
Замечание: только чтение.
Создание нового подкаталога:
6.2.15. Files
Замечание: только чтение.
6.3. Методы
6.3.1. Copy
Назначение: копирует каталог в указанное место.
6.3.2. Move
Назначение: перемещает каталог в указанное место.
6.3.3. Delete
Назначение: удаляет каталог со всем содержимым.
6.3.4. CreateTextFile
7. Объект TextStream
7.1. Создание объекта
7.2. Свойства
7.2.1. AtEndOfLine
Возвращаемое значение: содержит True, если указатель достиг конца строки и False в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.
7.2.2. AtEndOfStream
Возвращаемое значение: содержит True, если указатель достиг конца файла и False в противном случае. Работает только если файл открыт для чтения.
Замечание: только чтение.
7.2.3. Column
Возвращаемое значение: содержит номер колонки текущего символа файла.
Замечание: только чтение.
7.2.4. Line
Возвращаемое значение: содержит номер текущей строки файла.
Замечание: только чтение.
7.3. Методы
7.3.1. Close
Назначение: закрывает открытый файл.
7.3.2. Read
Назначение: считывает из файла указанное количество символов и возвращает полученную строку.
7.3.3. ReadAll
Назначение: считывает весь файл и возвращает полученную строку.
Описание: для больших файлов использование этого метода потребует больших ресурсов памяти.
7.3.4. ReadLine
Назначение: считывает строку из файла и возвращает полученную строку.
7.3.5. Skip
Назначение: пропускает при чтении файла указанное количество символов.
7.3.6. SkipLine
Назначение: пропускает при чтении файла строку.
7.3.7. Write
Назначение: записывает в файл указанную строку. Символы возврата каретки и новой строки в файл не записываются.
7.3.8. WriteLine
Назначение: записывает в файл указанную строку. В файл записываются символы возврата каретки и новой строки.
7.3.9. WriteBlankLines
Назначение: записывает в файл указанное количество пустых строк (символы возврата каретки и новой строки).
Часто при работе с файлами и написании кодов начинающие "кодить" в VBA сталкиваются с необходимостью предоставить пользователю возможность самостоятельного выбора файлов: либо всех в указанной папке, либо каких-то отдельных. Конечно, можно жестко в коде написать нечто вроде: "C:\Documents\Files\Книга1.xls" , но это требует не только наличия именно диска С, но и полной структуры папок и имен файлов. Это очень неудобно в большинстве случаев и куда чаще необходимо дать пользователю возможность самому указать имя файла. Записывать в ячейку листа полный путь и имя весьма непрактично и часто для неискушенного пользователя вызывает только "отторжение" от программы. В статье Просмотреть все файлы в папке я приводил пример кода, который просматривает все файлы в указанной папке и папка при этом выбирается сами пользователем из привычного по работе с Windows диалога. Там используется диалог выбора папок. Именно на этом я и хочу сделать акцент в этой статье - рассказать про некоторые способы вызова подобных диалогов для выбора файлов или папки. Так же обращу внимание на некоторые вещи, которые следует учитывать при использовании того или иного типа диалогов.
Диалог выбора файлов Applicaton.GetOpenFileName
Параметры:
Application.GetOpenFilename([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])
По сути я часто использую именно его, т.к. это универсальный метод и в нем есть все, что лично мне необходимо: выбрать определенные типы файлов позволяет, возможность запрета выбора нескольких файлов сразу есть.
avFiles = Application.GetOpenFilename _ ("Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", 2, _ "Выбрать текстовые или Excel файлы", , True)
- True - можно будет выбрать более одного файла для обработки(через Shift или Ctrl или простым выделением мышью внутри окна)
- False - можно будет выбрать только один файл
По умолчанию принимает значение False
Выбора только одного файла:
avFiles = Application.GetOpenFilename _ ("Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", 2, _ "Выбрать текстовые или Excel файлы", , False)
Выбор нескольких файлов:
avFiles = Application.GetOpenFilename _ ("Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", 2, _ "Выбрать текстовые или Excel файлы", , True)
Пример применения диалога Application.GetOpenFilename
В данном случае совершенно неважно указан ли выбор только одного файла или нескольких. Может поменяться только способ обработки полученного результата. Если параметр MultiSelect установлен в False, то переменная avFiles примет тип String, т.е. это будет одна строка. Предположим, что была выбрана книга Excel. Тогда открыть её можно будет как обычно это делается при использовании переменной:
Если же параметр MultiSelect установлен в True, то переменная avFiles примет тип Array - массив строк, в котором будут записаны все пути и имена выбранных файлов. Обрабатывать в таком случае следует циклом:
'avFiles - примет тип Array For Each x In avFiles Workbooks.Open x Next
В приложенном к статье файле приведены две процедуры с использованием этого типа диалога и обработкой файлов с параметром MultiSelect , установленным в True и False.
Диалог выбора файлов FileDialog(msoFileDialogFilePicker)
У этого диалога тоже есть параметры и они очень схожи с таковыми в Application.GetOpenFilename:
Ниже в статье примера кода с применением всех описанных параметров
- True - можно будет выбрать более одного файла для обработки(через Shift или Ctrl или простым выделением мышью внутри окна)
- False - можно будет выбрать только один файл
- Description - описание типа файлов. Произвольный текст, указывающий тип файлов. Например "Рисунки" или "Файлы Excel".
- Extensions - расширения файлов. Непосредственно перед расширением обязательно должна стоять звездочка и точка: *.xls . Иначе диалог выдаст ошибку. Для перечисления нескольких расширений используется разделитель в виде точки-с-запятой: "*.xls*;*.xla*" или "*.xls;*.xlsx;*.xlsm" . Звездочка после расширения заменяет любой набор символов или ни одного. Например, при указании "*.xls*" будет возможным выбрать любые файлы, расширение которых начинается на .xls: .xls,.xlsx,.xlsm,.xlsb и т.д. , но нельзя будет выбрать файлы с расширением .xla,.xlam и тем более .doc или .txt . Если необходимо осуществить выбор любого типа файлов, то необходимо просто очистить фильтр и не добавлять никакие типы: .Filters.Clear
- Position - указывает, каким по счету в списке будет тип файлов. На рисунке ниже первым идет тип "Excel files", а вторым "Text files":
Каждый новый тип файлов добавляется новым Add:
.Filters.Add "Excel files", "*.xls*;*.xla*", 1 'добавляем возможность выбора файлов Excel .Filters.Add "Text files", "*.txt", 2 'добавляем возможность выбора текстовых файлов
Если при этом еще добавить имя файла, то в поле диалога Имя файла будет так же отображено это имя:
- msoFileDialogViewDetails
- msoFileDialogViewLargeIcons
- msoFileDialogViewList
- msoFileDialogViewPreview
- msoFileDialogViewProperties
- msoFileDialogViewSmallIcons
- msoFileDialogViewThumbnail
- msoFileDialogViewTiles
- msoFileDialogViewWebView
For Each x In .SelectedItems Workbooks.Open x Next
Так же можно отбирать только отдельные файлы по индексам или организовать цикл иначе:
For lf = 1 to .SelectedItems.Count x = .SelectedItems(lf) Workbooks.Open x Next
- -1 - выбор файлов был сделан и нажата кнопка Открыть
- 0 - была нажата кнопка отмены
Это можно(точнее нужно!) использовать, чтобы не продолжать выполнение кода, если нажата кнопка Отмены:
If .Show = 0 Then Exit Sub 'была нажата кнопка отмены
Пример вызова диалога выбора файлов:
Sub ShowFileDialog() Dim oFD As FileDialog Dim x, lf As Long 'назначаем переменной ссылку на экземпляр диалога Set oFD = Application.FileDialog(msoFileDialogFilePicker) With oFD 'используем короткое обращение к объекту 'так же можно без oFD 'With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False .Title = "Выбрать файлы отчетов" 'заголовок окна диалога .Filters.Clear 'очищаем установленные ранее типы файлов .Filters.Add "Excel files", "*.xls*;*.xla*", 1 'устанавливаем возможность выбора только файлов Excel .Filters.Add "Text files", "*.txt", 2 'добавляем возможность выбора текстовых файлов .FilterIndex = 2 'устанавливаем тип файлов по умолчанию - Text files(Текстовые файлы) .InitialFileName = "С:\Temp\Книга1.xlsx" 'назначаем папку отображения и имя файла по умолчанию .InitialView = msoFileDialogViewDetails 'вид диалогового окна(доступно 9 вариантов) If oFD.Show = 0 Then Exit Sub 'показывает диалог 'цикл по коллекции выбранных в диалоге файлов For lf = 1 To .SelectedItems.Count x = .SelectedItems(lf) 'считываем полный путь к файлу Workbooks.Open x 'открытие книги 'можно также без х 'Workbooks.Open .SelectedItems(lf) Next End With End Sub
Диалог выбора папки
Диалог выбора папки необходим в случаях, когда файлов в папке много и обработать нужно все эти файлы. Пример такой обработки я уже выкладывал в статье Просмотреть все файлы в папке. Здесь проще всего использовать появившийся в 2002 Excel диалог Application.FileDialog. Его параметры практически такие же, как у Application.FileDialog(msoFileDialogFilePicker) только их меньше доступно для применения:
- msoFileDialogViewDetails
- msoFileDialogViewLargeIcons
- msoFileDialogViewList
- msoFileDialogViewPreview
- msoFileDialogViewProperties
- msoFileDialogViewSmallIcons
- msoFileDialogViewThumbnail
- msoFileDialogViewTiles
- msoFileDialogViewWebView
- -1 - папка выбрана и нажата кнопка Открыть
- 0 - была нажата кнопка отмены
Это можно(точнее нужно!) использовать, чтобы не продолжать выполнение кода, если нажата кнопка Отмены:
If .Show = 0 Then Exit Sub 'была нажата кнопка отмены
Пример вызова диалога выбора папки:
Диалог выбора папки через Shell
Диалог Application.FileDialog(msoFileDialogFolderPicker) всем хорош и удобен, кроме одного: как я уже упоминал, он стал доступен из VBA только начиная с 2002 Excel. Поэтому дополню статью еще одним вариантом показа диалога выбора папки - с помощью объекта Shell.
Shell.BrowseForFolder([Hwnd], [sTitle], [iOptions], [vRootFolder])
Hwnd | Дескриптор окна, к которому будет относится диалог. Как правило указывается 0 |
sTitle | Поясняющий текст, который будет отображен в диалоге. Подобие заголовка окна. Может быть любым текстом, например "Выбрать папку с отчетами" |
iOptions | Дополнительные параметры для диалога. Рекомендуется использовать 0. Но можно попробовать и пару других вариантов. Например, если указать 20, то в диалоговом окне появится дополнительное текстовое поле, в котором будет отображено имя выбранной папки. |
vRootFolder | Аналогично InitialFileName в рассмотренных выше диалогах. Задает начальную папку, на которой диалог будет открыт после запуска. |
Пример вызова диалога выбора папки через Shell:
Конечно, диалог подобный выглядит довольно убого, особенно на современных операционных системах. Но он работает в любых версиях офиса. Порой это бывает полезней красоты.
Tips_Macro_GetOpenFileFolder.xls (100,0 KiB, 3 347 скачиваний)
Диалог сохранения файла SaveAs
Еще один вид диалогового окна - запрос имени и места сохранения файла.
Параметры:
Application.GetSaveAsFilename([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])
Универсальный диалог, работающий во всех версиях Excel, начиная с 2000
Показываем диалог со стартовой папкой на той книге, в которой сам макрос и именем сохраняемой книги "SaveAs.xlsm" :
sToSavePath = Application.GetSaveAsFilename(InitialFileName:="SaveAs.xlsm", FileFilter:="Excel files (*.xlsm), *.xlsm")
avFiles = Application.GetSaveAsFilename _ (InitialFileName:=ThisWorkbook.Path, FileFilter:="Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", FilterIndex:=2)
Что еще важно знать: сам по себе вызов диалога GetSaveAsFilename ничего не сохраняет - он только создает путь для сохраняемого файла. Сохранять придется принудительно после выбора места и имени.
Пример применения диалога Application.GetSaveAsFilename
Sub ShowGetSaveAsDialod() Dim sToSavePath sToSavePath = Application.GetSaveAsFilename( _ InitialFileName:=ThisWorkbook.Path, _ FileFilter:="Excel files(*.xls*),*.xls*,Text files(*.txt),*.txt", _ FilterIndex:=2, _ Title:="Сохранить файл") 'если нажали Отмена - завершаем процедуру ничего не сохраняя If VarType(sToSavePath) = vbBoolean Then Exit Sub End If 'непосредственно сохранение файла ThisWorkbook.SaveAs Filename:=sToSavePath, FileFormat:=ThisWorkbook.FileFormat End Sub
Здесь тоже есть нюанс - метод SaveAs имеет два важных аргумента:
1. Filename - путь и имя сохраняемого файла. Здесь должно быть все понятно. Указываем то, что выбрали в диалоге.
2. FileFormat - формат сохраняемого файла. При этом не текстовое представление(как в диалоге "xls" или "txt"), а одна из предустановленных констант формата файла. Вот основные константы:
Пример использования констант в диалогах Application.GetSaveAsFilename
Сохраняем файл с форматом xlsm - файл с поддержкой макросов. Для этого ищем в таблице выше расширение xlsm и берем либо константу Excel либо числовую константу:
Sub ShowGetSaveAsDialod() Dim sToSavePath sToSavePath = Application.GetSaveAsFilename( _ InitialFileName:=ThisWorkbook.Path & "\Report.xlsm", _ FileFilter:="Excel files(*.xlsm),*.xlsm") 'если нажали Отмена - завершаем процедуру ничего не сохраняя If VarType(sToSavePath) = vbBoolean Then Exit Sub End If 'непосредственно сохранение файла 'используем встроенную константу Excel ThisWorkbook.SaveAs Filename:=sToSavePath, FileFormat:=xlOpenXMLWorkbookMacroEnabled 'используем числовую константу 'ThisWorkbook.SaveAs Filename:=sToSavePath, FileFormat:=52 End Sub
Любой метод: либо числовая константа, либо встроенная работают одинаково. Вопрос лишь в том, что лично для Вас будет удобнее и нагляднее.
Мне нужна электронная таблица Excel, которая имеет путь и имя файла в столбце A. Когда выполняется макрос, скажем, файл, указанный в A1, должен быть открыт на компьютере пользователя. Файл может быть .doc,.xls,.txt и т.д., А не мой vba, который должен знать полный путь к приложению, как я могу заставить vba сказать машине "откройте этот файл и используйте ваше приложение связанный с расширением"?
Я уже нашел, что это работает с полным путем:
как я могу заставить его работать с чем-то вроде:
Заранее благодарю вас!
ОТВЕТЫ
Ответ 1
Это работает для меня в Excel и Word
или. согласно комментарию Expenzor ниже
Ответ 2
Код ниже представляет собой шаблон. Однако вы можете обновить каталог по умолчанию (рабочий), указав местоположение файла.
Ответ 3
Команда VBA Shell хочет exe, поэтому я запускаю explorer.exe и передаю путь к файлу в качестве аргумента. Он также работает с ярлыками *.lnk и веб-адресами.
Ответ 4
Shell32.Shell Можно использовать COM-объект aka Shell.Application , который обертывает функцию ShellExecute Win32 API:
Добавьте ссылку на библиотеку типов Microsoft Shell Controls And Automation в проект VBA через Tools->References. , затем
В качестве альтернативы без ссылок:
Интересно, что здесь (WinXP) при использовании типизированной переменной (которая предоставляет автозаполнение) ShellExecute отсутствует в списке участников (но тем не менее работает).
Ответ 5
Я не могу комментировать существующие ответы (недостаточно очков), поэтому я отвечаю, чтобы добавить информацию.
Работая с Access 2010, я столкнулся с тихими сбоями со следующим синтаксисом:
Я мог бы заставить его работать, если бы я заключил URL в скобки, но это кажется неправильным для синтаксиса вызова подпрограммы (вместо функции). Я попытался усвоить возвращаемое значение, но это не удалось с синтаксисом вызова функции, если я не удвоил скобки. Я понял, что круглые скобки были не просто синтаксическим сахаром - они должны были что-то делать, что заставило меня поверить, что они могут облегчать неявное приведение.
Я заметил, что Open ожидает Variant , а не String . Поэтому я попробовал CVar , который работал. Имея это в виду, следующий мой предпочтительный подход, поскольку он сводит к минимуму "почему здесь есть лишние скобки?" вопросы.
Урок заключается в том, что при выполнении вызовов OLE Automation следует четко указывать, как Access VBA выполняет преобразование соответствующим образом!
Открывает указанный файл и возвращает объект TextStream, который можно использовать для чтения, записи или приложения в файл.
Синтаксис
объект. OpenTextFile (имя файла, [ iomode, [ создать, [ формат ]]] )
Синтаксис метода OpenTextFile состоит из следующих элементов.
Part | Описание |
---|---|
object | Обязательный. Всегда имя FileSystemObject. |
имя файла | Обязательный. Строковое выражение, определяющее файл, который будет открыт. |
iomode | Необязательное. Указывает режим ввода-вывода. Может соответствовать одной из трех констант: ForReading, ForWriting или ForAppending. |
создать | Необязательное. Значение типа Boolean, которое указывает, можно ли создать новый файл, если файл, указанный параметром filename, не существует. Значение True позволяет создать новый файл, а значение False — нет. По умолчанию используется значение False. |
format | Необязательное. Одно из трех значений Tristate, используемых, чтобы указать формат открытого файла. Если отсутствует, открытый файл имеет формат ASCII. |
Параметры
Аргумент iomode может иметь любой из следующих параметров:
Константа | Значение | Описание |
---|---|---|
ForReading | 1 | Открытие файла только для чтения. Запись в этот файл невозможна. |
ForWriting | 2 | Откройте файл только для записи. Используйте этот режим, чтобы заменить существующий файл новыми данными. Вы не можете прочитать из этого файла. |
ForAppending | 8 | Открытие файла и запись в конец файла. Вы не можете прочитать из этого файла. |
Аргумент format может иметь одно из следующих значений.
Константа | Значение | Описание |
---|---|---|
TristateUseDefault | –2 | Открывает файл с помощью системы по умолчанию. |
TristateTrue | –1 | Открывает файл в формате Юникод. |
TristateFalse | 0 | Открывает файл в формате ASCII. |
Примечания
В следующем коде показано использование метода OpenTextFile для открытия файла для добавления текста.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Читайте также: