- •Объект Debug и его методы
- •Метод Print
- •Метод Assert
- •Доказательство правильности программ
- •Условная компиляция и отладка
- •Директива #const
- •#If … Then … #Else директива
- •Ошибки периода выполнения и их обработка
- •Модель управления ошибками в языке vba.
- •Оператор On Error
- •Оператор Resume
- •Объект Err
- •Метод Clear
- •Метод Raise
- •Класс и обработка ошибок
- •Обработчики ошибок и вложенные вызовы процедур
- •Структура обработчика ошибок
- •Функция CvErr
- •Оптимизация программ
- •Приемы оптимизации кода
- •Объявление переменных
- •Математические операции
- •Строковые операции
- •Проектирование интерфейса. Меню
- •Общие объекты Office 2000
- •Коллекция CommandBars
- •Свойства и методы коллекции CommandBars
- •Свойства и методы объекта CommandBar
- •Коллекция CommandBarControls и ее элементы
- •О роли интерфейса
- •Создание собственных и модификация встроенных меню
- •Немного терминологии
- •Возможности настройки и изменения системы меню
- •Создание собственного головного меню
- •Использование диалогового окна Настройка
- •Создание меню с помощью vba
- •Добавление выпадающих меню
- •Использование диалогового окна Настройка
- •Как добавить встроенное меню
- •Добавление выпадающего меню с помощью vba
- •Добавление подменю
- •Вставка и группировка команд
- •Добавление встроенной команды с помощью окна Настройка
- •Добавление собственной команды с помощью окна Настройка
- •Добавление команд с помощью vba
- •Пример построения документа с собственным меню
- •Группировка команд меню
- •Удаление команд меню
- •Удаление команды с помощью окна Настройка
- •Удаление команды с помощью vba
- •Как восстановить удаленные встроенные компоненты меню
- •Изменение меню во время работы программы
- •Вывод собственной панели меню
- •Динамическое изменение видимости команд меню
- •Управление доступом к командам меню
- •Переименование команды меню
- •Диалоговые окна и элементы управления
- •Общие сведения и применение
- •Встроенные диалоговые окна Коллекция Dialogs и объект Dialog
- •Вывод сообщений. Функция MsgBox
- •Окно ввода данных. Функция InputBox
- •Создание пользовательских диалоговых окон
- •Создание страниц и вкладок в диалоговых окнах
- •Добавление дополнительных элементов управления
- •Пример создания диалогового окна
- •Разработка процедур, обрабатывающих события диалогового окна и его устройств
- •Вызов собственного диалогового окна
- •Установка начальных значений свойств элементов управления
- •Использование Me в качестве имени текущего диалогового окна
- •Модификация управляющих элементов во время работы
- •Управление доступом к элементу
- •Перемещение фокуса на элемент управления
- •Изменение размеров диалогового окна
- •Проверка корректности данных
- •Обмен данными с диалоговым окном
- •Закрытие диалогового окна
- •Объект UserForm (диалоговое окно), коллекция UserForms (диалоговые окна)
- •Коллекция Controls
- •Объекты - элементы управления Перечень основных элементов управления
- •Общие свойства элементов управления Объект-родитель
- •Имя объекта
- •Значение объекта
- •Расположение объекта
- •Параметры внешнего вида объекта
- •Свойства поведения объекта
- •Другие свойства
- •CheckBox - флажок (кнопка выбора)
- •ComboBox - комбинированный список
- •CommandButton - командная кнопка
- •Frame - рамка (группы)
- •Image - изображение
- •Label - метка (надпись, статический текст)
- •ListBox - список
- •MultiPage - набор страниц
- •OptionButton - кнопка-переключатель
- •ScrollBar - полоса прокрутки
- •SpinButton - счетчик
- •TabStrip - полоса вкладок
- •TextBox - поле ввода (окно редактирования)
- •ToggleButton - выключатель
- •Объект DataObject
- •Перемещение объектов. Как реализовать технику DragAndDrop
- •События Событие AddControl (добавился элемент)
- •Событие AfterUpdate (После модификации)
- •Событие BeforeDragOver (Перед завершением перетаскивания)
- •Событие BeforeDropOrPaste (Перед опусканием или вставкой)
- •Событие BeforeUpdate (Перед модификацией)
- •Событие Change (Изменение)
- •Событие Click (Щелчок)
- •Событие DblClick (Двойной щелчок)
- •Событие DropButtonClick (Щелчок кнопки списка)
- •События Enter, Exit (Вход, Выход)
- •Событие Error (Ошибка)
- •События KeyDown, KeyUp (Клавиша нажата, Клавиша отпущена)
- •Событие KeyPress (Клавиша нажата)
- •Событие Layout (Расположение)
- •События MouseDown, MouseUp (Мышь нажата, Мышь отпущена)
- •Событие MouseMove (Мышь движется)
- •Событие RemoveControl (Удаление элемента)
- •Событие Scroll (Прокрутка)
- •События SpinDown (Уменьшить счетчик), SpinUp (Увеличить счетчик)
- •Событие Zoom (Расширение)
- •Методы Метод Add (Добавить)
- •Метод AddItem (Добавить элемент)
- •Метод Clear (Очистить)
- •Метод Copy (Копировать)
- •Метод Cut (Вырезать)
- •Метод DropDown (Вывести список)
- •Метод Move (Сдвинуть)
- •Метод Paste (Вставить)
- •Реализация операций Cut, Copy, Paste в диалоговых окнах
- •Метод RedoAction (Повторить действие)
- •Метод Remove (Удалить)
- •Метод RemoveItem (Удалить элемент)
- •Метод Repaint (Перерисовать)
- •Метод Scroll (Прокрутить)
- •Метод SetDefaultTabOrder (Установить стандартный порядок обхода)
- •Метод SetFocus (Установить фокус)
- •Метод UndoAction (Отменить действие)
- •Реализация операций Undo и Redo в диалоговых окнах
- •Метод zOrder (z-упорядочить)
- •Основные виды файлов в Office 2000
- •Открытие и создание файлов
- •Закрытие файлов
- •Запись в файлы последовательного доступа
- •Чтение файлов последовательного доступа
- •Ввод-вывод для файлов произвольного доступа и бинарных файлов
- •Работа с данными переменной длины
- •Один пример работы с Binary файлом
SpinButton - счетчик
SpinButton (счетчик, ворот) позволяет пользователю увеличивать и уменьшать числовую характеристику до тех пор, пока он не установит требуемое значение. Один щелчок кнопки прокрутки увеличивает или уменьшает значение свойства Value на величину, заданную свойством SmallChange. Как и для ScrollBar, интервал изменения числовой характеристики определяется значениями свойств Min и Max, вертикальная или горизонтальная ориентация счетчика - свойством Orientation, а задержка между повторными событиями Change - свойством Delay.
Чтобы изменения Value были видны пользователю, счетчик надо связать с полем ввода или с меткой в процедуре обработки события Change так же, как для полосы прокрутки.
События: AfterUpdate, BeforeDragOver, BeforeUpdate, Change, Enter, Error, Exit, KeyDown, KeyUp, KeyPress, SpinDown, SpinUp.
Методы: Move, SetFocus, ZOrder.
TabStrip - полоса вкладок
Элемент TabStrip внешне похож на элемент MultiPage. Он также представляет набор отдельных диалоговых окон - вкладок. Но эти вкладки не являются независимыми диалоговыми окнами - они не содержат элементов управления. Элементы в области, ограниченной рамкой вкладки, так же принадлежат диалоговому окну, как и сама полоса вкладок. Поэтому набор элементов управления, видимых на вкладке, достаточно определить один раз. Он автоматически будет одинаково выглядеть на всех вкладках.
Полосы вкладок в основном используются для вывода/ввода однотипной информации, относящейся к разным объектам (это, например, анкеты, сведения об организациях-поставщиках и покупателях и т. п. ). Имена объектов служат заголовками вкладок. При этом объектов не должно быть слишком много, так как хотя бы начальная часть имени каждого должна быть видна на закладке. Для увеличения числа представленных объектов можно установить свойство MultiRow в True, что позволит создать несколько полос с закладками объектов.
Каждая вкладка из TabStrip - объект типа Tab, а все они включены в коллекцию Tabs. Объекты класса Tab обладают собственными свойствами (например, Name, Caption, index), но не имеют собственных методов и событий. Поэтому для доступа и работы с ними используются события включающей их полосы вкладок TabStrip.
При создании в элемент TabStrip автоматически помещаются две вкладки Tab1 и Tab2. Эти имена можно изменять и можно также добавлять новые вкладки. Чтобы на стадии проектирования добавить новую вкладку, переименовать, передвинуть или удалить имеющуюся, щелкните правой кнопкой мыши полосу закладок и выберите действие в появившемся контекстном меню.
Как и для элемента MultiPage, свойство Value определяет номер текущей активной вкладки в коллекции Tabs, а свойство SelectedItem (его можно только читать) возвращает текущую активную вкладку (как объект). Его используют для установки значений свойств ее элементов управления, соответствующих объекту, информация о котором должна быть представлена на вкладке. Свойство Count возвращает число вкладок на полосе.
Взгляните на различные способы доступа к отдельным вкладкам TabStrip: в процедуре инициализации диалогового окна Myform использовано 6 разных способов присвоения названий шести вкладкам Tab1 - Tab6.
Private Sub UserForm_Initialize ()
Dim name1 As String
' Использование коллекции Tabs с числовым параметром
TabStrip1. Tabs (0). Caption = "Вкладка 1"
'Использование коллекции Tabs со строковым параметром:
name1 = TabStrip1. Tabs (1). Name
TabStrip1. Tabs (name1). Caption = "Вкладка 2"
'Использование метода Item коллекции Tabs:
TabStrip1. Tabs. Item (2). Caption = "Вкладка 3" ' с номером
name1 = TabStrip1. Tabs (3). Name
TabStrip1. Tabs. Item (name1). Caption = "Вкладка 4" ' с именем
'Использование имени (Name) объекта Tab:
TabStrip1. Tab5. Caption = "Вкладка 5"
'Использование свойства SelectedItem:
TabStrip1. Value = 5 ' установка активной вкладки
TabStrip1. SelectedItem. Caption = "Вкладка 6"
End Sub
Номер текущей активной вкладки передается системой в качестве параметра процедуре, обрабатывающей событие Click. Это позволяет устанавливать нужные значения свойств. Допустим, полоса вкладок MyTabStrip содержит 3 вкладки с информацией о сотрудниках, и на них расположены элементы управления: метка Label1, заголовок которой определяет должность сотрудника, и поле ввода Address с его адресом. Тогда процедура установки этих свойств может выглядеть так:
Private Sub MyTabStrip_Click (ByVal Index As Long)
Select Case Index
Case 0
Me. Label1. Caption = "зав. сектором"
Me. Address. Text = "ул. Молодежная, 42, кв. 124"
Case 1
Me. Label1. Caption = "администратор БД"
Me. Address. Text = "ул. Московская, 12, кв. 34"
Case 2
Me. Label1. Caption = "программист"
Me. Address. Text = "пр. Спортивный, 143, кв. 56"
End Select
End Sub
Большинство свойств элементов MultiPage и TabStrip совпадает как по имени, так и по значению. К ним относятся свойства Style, TabOrientation, MultiRow, TabFixedHeight и TabFixedWidth. Специфические свойства TabStrip - параметры ClientHeight, ClientLeft, ClientTop, ClientWidth - задают расположение и размеры (в точках) внутренней области вкладки, содержащей все элементы управления.
События: BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Error, Exit, KeyDown, KeyUp, KeyPress, Layout, MouseDown, MouseUp, MouseMove.
Методы: Move, SetFocus, ZOrder.