VBA. Эффективное использование [В. Г. Кузьменко] (pdf) читать постранично, страница - 86

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]


«перевод строки» (carriage return-linefeed) не добавляется к считываемой сим­
вольной строке.
Пример

В качестве примера приведены две процедуры: для записи данных в файл
(TestPrint) и для чтения данных из файла (Testinput). Запустите на выполнение
первую процедуру. Затем откройте в Редакторе VB окно Immediate и выполните
вторую процедуру для просмотра содержимого тестового файла.
Sub TestPrint ()
'запись данных в файл TESTFILE
Dim TextLine
Open "TESTFILE" For Output As #1
Print #1, "Желал я дущу освежить,"
Print #1, ."Бывалой жизнию пожить"
Print #1, "В забвенье сладком близ друзей"
Print #1, "Минувшей юности моей"
Print #1,

Print #1, Tab (10); "А.С. Пушкин"
Close #1
End Sub

504

Приложение А: Операторы в УВА

Sub Testinput ()
'чтение данных из файла TESTFILE
Dim TextLine
Open "TESTFILE" For Input As #1
Do While Not EOF(l)
Line Input #1, TextLine
Debug.Print TextLine
Loop
Close #1
End Sub

Load
Загружает, но не показывает объект.
Синтаксис
Load object

Шаблон object представляет объектное выражение (object expression), которое
преобразуется к объекту в Applies То list.
При загрузке объект помещается в память, но остается невидимым. Чтобы объ­
ект стал видимым, необходимо выполнить его метод Show. Если объект остается
невидимым, с ним невозможно «общаться».
Пример
Private Sub UserForm_Initialize()
Load UserForm2
UserForm2.Show
End Sub
Lock, Unlock

Управляет доступом ко всему или части файла, открытого с использованием
оператора Open.
Синтаксис
Lock [#]filenumber[, recordrange]
Unlock [#] filenumber[, recordrange]

Синтаксис оператора Lock (и Unlock) состоит из следующих элементов:

filenumber

Обязательный. Любой допустимый файловый номер.

recordrange

Необязательный. Диапазон записей для открытия (закрытия)
доступа.

Аргумент recordrange имеет следующий синтаксис:
recnumber | [start] То end

recnumber

Номер записи (файл в режиме Random) или номер байта (файл в
режиме Binary), на который устанавливается или отменяется доступ.

start

Номер первой записи (или байта) для открытия или закрытия доступа.

end

Номер последней записи (или байта) для открытия или закрытия
доступа.

LSet

505

Операторы Lock и Unlock используются в среде, где к одному и тому же файлу
необходим доступ из нескольких процессов (processes), и всегда используются вме­
сте. Аргументы этих операторов должны точно совпадать.
Первая запись (или байт) в файле находится в позиции 1, вторая запись (или
байт) — в позиции 2 и т.д. Если указывается (в операторах Lock, Unlock) только
одна запись, то только к этой записи будет открыт или закрыт доступ. Если опреде­
ляется диапазон записей и опускается начальная запись (start), режим доступа за­
дается для всех записей с первой до указанной последней записи (end). Использова­
ние Lock (Unlock) без аргумента recnumber управляет доступом ко всему файлу.
LSet.

Выполняет левое выравнивание строки внутри строковой переменной или ко­
пирует переменную одного пользовательского типа в другую переменную пользо­
вательского типа, отличного от первого.
Синтаксис

LSet stringvar = string
LSet varnamel = varname2

Синтаксис оператора LSet состоит из следующих элементов:

stringvar

Обязательный. Имя строковой переменной.

string

Обязательный. Строковое выражение, которое будет выравниваться
внутри stringvar.

varnamel

Обязательный. Имя переменной пользовательсктого типа, в которое
будет производиться копирование.

varname2

Обязательный. Имя переменной пользовательского типа, из которого
будет производиться копирование.

Оператор LSet заменяет все левые символы в stringvar пробелами. Если string
длиннее, чем stringvar, LSet помещает в stringvar только «наиболее левые» симво­
лы из string, количество которых равно длине строки stringvar.
Пример (см. пример для RSet)

Dim StrMyVar
StrMyVar = "0123456789"
Lset StrMyVar = "