- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •672 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •678 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.1. Автоматизация работы пользователя в среде microsoft office
- •688 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •690 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •7 08 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •712 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •7 14 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •7 16 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •718 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.2. Создание приложений на языке visual basic for applications
- •720 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •722 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •724 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •19.3. Реляционные языки манипулирования данными
- •728 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •732 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными 733
- •734 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •736 Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •19.3. Реляционные языки манипулирования данными
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
- •Глава 19. Инструментальные средства пользователя в среде microsoft office
7 08 Глава 19. Инструментальные средства пользователя в среде microsoft office
Текст программы |
Комментарий |
Debug.Print a If a > 0.99 Then Exit Do Loop End Sub |
Печать случайного числа Блок условия — при его выполнении выход из цикла Конец цикла Конец процедуры |
Цикл While-Wend. Данный оператор полностью соответствует структуре Do While-Loop. Отличительной особенностью оператора является невозможность прервать выполнение цикла из тела цикла (Exit Do отсутствует), проверка условия выполняется только в начале цикла.
While <условие> <блок операторов> Wend
Цикл For Each. Оператор относится к категории операторов объектного типа, т.е. применяется к массивам (элементам) и наборам объектов. Выполняется фиксированное число раз, число объектов в наборе определяется автоматически. Упорядочение элементов набора — произвольное.
For Each <элемент> In <набор>
<блок операторов>
Exit For
<блок операторов>
где <элемент> представляет собой переменную типа Variant, <набор> — определенный набор объектов. Для прерывания цикла используется оператор Exit For.
РАБОТА С ФАЙЛАМИ
Основные понятия
VBA работает с хранимыми на диске файлами двух типов: последовательного и произвольного доступа.
Последовательный файл —текстовый, который обрабатывается стандартными средствами текстовых редакторов, так как содержит строки символов в формате ANSI. Все операции с последовательными файлами реализуются от начала файла: при этом одновременно нельзя читать и писать в последовательный файл.
Файл произвольного доступа имеет записи фиксированной длины: можно одновременно выполнять чтение и запись в файл записей.
Открытие файла
Открывать можно как существующие на диске, так и новые файлы. Каждый файл идентифицируется в программе определенным номером, который присваивается ему в момент открытия. Свободный номер файла можно определить с помощью встроенной функции FileFree, которая возвращает очередной свободный номер для открытия файла (номер изменяется в диапазоне 1-511).
19.2. СОЗДАНИЕ ПРИЛОЖЕНИИ НА ЯЗЫКЕ VISUAL BASIC FOR APPLICATIONS
709
Файл открывают в определенном режиме работы:
Open <путь_имя_файла> [For <режимы>] [Access <направление_потока>] [<блокировка>] As [#]номер [Ьеп=<длина_записи>]
где <путь_имя_файла> — <режимы> —
Append
Binary
Input
Output
Random
<направление_потока> —
Read Write
Read Write <блокировка> —
Shared Lock Read Lock Write Lock Read Write
номер —
<длина записи> —
строка символов, задающая местоположение и имя дискового файла; режимы работы с файлом:
добавление записей
двоичный файл
файл для чтения
файл для записи
файл произвольного доступа;
задает тип потока данных по отношению к файлу:
только чтение только запись чтение и запись одновременно;
определяет возможность работы с файлом других приложений:
распределенный доступ блокировка файла для чтения блокировка с >айла для записи блокировка файла для чтения и записи;
условный идентификатор файла;
указывается для записей фиксированной длины, максимум — 32 767 байт. Оптимальная длина записи кратна размеру дискового сектора (512 байт).
Для файлов произвольного доступа объявляется структура записи с помощью оператора Туре; указываются типы и длина компонентов структуры. В режимах Binary, Input, Random под разными номерами можно открыть один и тот же файл, не закрывая ранее открытых; в режимах Append, Output требуется предварительно закрыть ранее открытые файлы.
Пример 19.27. Открытие файлов
Текст программы |
Комментарий |
Open "FILE" For Input As #1 |
Открытие последовательного файла |
|
для чтения |
Open "FILE" For Binary Access |
Открытие двоичного файла только |
Write As #1 |
для записи |
Type Record Define userdefmed type |
Объявление пользовательского типа |
|
данных |
ID As Integer |
|
Name As String * 20 |
|
End Type |
|
Dim MyRecord As Record |
|
Open "FILE" For Random As #1 |
|
Len = Len(MyRecord) |
Открытие файла произвольного доступа. |
|
Длина записи файла определяется |
|
встроенной функцией Len |
Open "FILE" For Output Shared As #1 |
Открытие последовательного файла |
|
с распределенным доступом (любые |
|
приложения могут читать и писать |
|
в файл) |
Open "FILE" For Binary Access |
Открытие двоичного файла для чтения, |
Read Lock Read As #1 |
чтение файла другим приложениям |
|
запрещено |
710