Перейти к содержимому

VBA Excel. Функция FreeFile

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

  1. Синтаксис функции FreeFile
  2. Примеры использования в VBA Excel
FreeFile – это функция, возвращающая целое число в диапазоне от 1 до 511 включительно, представляющее следующий свободный номер файла, доступный для использования в выражении с оператором Open.

Синтаксис функции FreeFile

FreeFile [(Номер_диапазона)]

Номер_диапазона определяет интервал целых чисел, из которого возвращается следующий идентификационный номер, который еще не используется, для отрываемого файла. Это необязательный параметр, принимающий следующие значения:

Значение Интервал
0 1 – 255
1 256 – 511

По умолчанию используется значение 0.

Примеры использования в VBA Excel

Пример 1
Смотрим, какие значения возвратит функция FreeFile с разными аргументами:

Sub Test1()
MsgBox "FreeFile = " & FreeFile & vbNewLine _
& "FreeFile(0) = " & FreeFile(0) & vbNewLine _
& "FreeFile(1) = " & FreeFile(1)
End Sub

Пример 2
Открываем файл myFile.txt сначала для записи, потом для чтения, используя номер, возвращенный функцией FreeFile. Если такого файла не существует, он будет создан в каталоге по указанному адресу (при открытии для записи).

Sub Test2()
Dim ff As Integer, str As String
'Получаем свободный номер для открываемого файла
ff = FreeFile
'Открываем (или создаем) файл myFile.txt для записи
Open ThisWorkbook.Path & "\myFile.txt" For Output As ff
'Записываем в файл текст
Write #ff, "тридцать восемь попугаев"
'Закрываем файл
Close ff
'Открываем файл myFile.txt для чтения
Open ThisWorkbook.Path & "\myFile.txt" For Input As ff
'Считываем строку из файла в переменную
Input #ff, str
'Закрываем файл
Close ff
'Смотрим, что записалось в переменную
MsgBox str
End Sub

Вы можете открыть файл myFile.txt для просмотра содержимого. Он находится в той же папке, в которой расположен файл Excel с кодом VBA из этого примера.

Попробуйте в строке с оператором Open заменить параметр Output на Append. Запустите несколько раз код на выполнение, откройте файл myFile.txt для просмотра результата.

Замените обратно параметр Append на Output, запустите код один раз и сравните результаты, открыв файл myFile.txt.

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора. При добавлении в комментарий кода VBA Excel, вставьте перед его началом тег [vb] и по окончании кода - [/vb].