|
|||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Другие элементы управленияВ Панель элементов управления VBA включены несколько других стандартных элементов управления. Некоторые из них полезны для работы с большим объемом данных, содержащихся во внешних базах данных. Другие полезны для доступа к файловой системе Windows. Третьи элементы управления не подходят ни под одну из категорий, однако достаточно полезны при разработке приложений. В приложениях VBA можно использовать элементы управления АсtiveX, называвшихся ранее элементами управления OLE, точно таким же образом, как используются и стандартные элементами управления. В версии VB Professional и Enterprise включены некоторые элементы управления ActiveX, а также возможность построения собственных элементов управления программиста. Дополнительные элементы управления ActiveX для любых вообразимых целей можно приобрести у многочисленных поставщиков этого продукта. В VBA также включены некоторые другие полезные элементы управления, которые, однако, не относятся ни к одной из рассмотренных выше групп; - Элемент управления Timer (Таймер) можно использовать для создания в приложении события через повторяющийся интервал времени. Это удобно для выполнения кода без взаимодействия с пользователем. - Элемент управления OLE Container (Контейнер OLE) обеспечивает легкий способ добавления в приложение возможностей связывания (linking) и внедрения (embedding). Посредством этого элемента управления можно обеспечить доступ к выполняемым функциям любого приложения, поддерживающего OLE технологию, например Microsoft Excel, Word и многих других. - Элемент управления Common dialog (Общий диалог) добавляет в приложение встроенные диалоговые оюна (built-in dialog boxes) для выбора файлов, цветов, шрифтов, функций печати. Объект, имеющий фокус, может получать вводимую пользователем с помощью мыши и клавиатуры информацию. В системе Microsoft Windows одновременно могут выполняться несколько приложений, но только у приложения, имеющего фокус, будет активный заголовок окна (active title bar) (выделен повышенной яркостью), и только оно может взаимодействовать с пользователем. На форме приложения VBA с несколькими полями ввода только поле ввода, имеющее фокус, будет отображать вводимый с клавиатуры текст. Когда объект получает или теряет фокус, происходят соответственно события GotFocus и LostFocus. Формы и большинство элементов управления поддерживают эти события. Объекту можно передать фокус несколькими способами: - Выбрать объект с помощью мыши во время выполнения - Выбрать объект с помощью клавиши доступа во время выполнения - Из программного кода с помощью метода set Focus Всегда можно определить, имеет ли объект фокус. Например, когда кнопка управления имеет фокус, обрамление ее надписи отображается с повышенной яркостью. Объект может получить фокус, только если его свойства Enabled (Разрешено) и visible (Видимый) установлены в True. Свойство Enabled (Разрешено) позволяет объекту реагировать на инициированные пользователем события, например, ввод с клавиатуры и нажатие кнопок мыши. Свойство visible (Видимый) определяет, виден ли объект на экране. Событие Validate элементов управления Элементы управления имеют событие validate (Проверка достоверности), которое происходит перед тем, как элемент управления теряет фокус. Однако это событие возникает, только если свойство CausesValidation элемента управления перед получением фокуса имеет значение True. Событие Validate происходит перед потерей фокуса, поэтому во многих случаях оно более подходит для проверки достоверности данных (data validation), чем событие LostFocus. Элементы управления, которые не могут получить фокус Некоторые элементы управления не могут получать фокус. К ним относятся облегченные графические элементы управления: - Frame (Рамка) - Image (Изображение) - Label (Метка) Кроме этих элементов управления не могут получить фокус и неотображаемые элементы управления. Установка последовательности перехода Последовательность перехода (tab order) - это последовательность перехода от одного элемента управления к другому при нажатии клавиши ТаЬ. У каждой формы своя последовательность перехода. Обычно она соответствует последовательности создания элементов управления. Пусть создаются два поля ввода, Textl и Text2, а затем - кнопка управления Commandl. При запуске приложения поле ввода Textl имеет фокус. Нажатие клавиши Tab перемещает фокус между элементами управления в той последовательности, в которой они создавались. Для изменения последовательности перехода необходимо установить свойство TabIndex элемента управления, которое определяет его позицию в последовательности перехода при нажатии клавиши Таb. По умолчанию значение свойства Tabindex элемента управления, созданного на форме первым, равно 0, элемента, созданного вторым - 1 и т. д. При изменении позиции элемента управления в последовательности переходов VBA автоматически перенумеровывает позиции других элементов управления, отражая вставку в другую позицию или удаление из последовательности перехода элемента управления. Например, если кнопка управления command1 в предыдущем примере становится первой в последовательности переходов, то значения свойства TabIndex других элементов управления автоматически перенумеровываются. Наибольшее значение свойства Tabindex всегда на единицу меньше числа элементов в последовательности перехода, так как нумерация начинается с нуля. Даже если случайно значение свойства Tabindex окажется больше числа элементов управления, VBA переустановит это значение так, чтобы оно было на единицу меньше числа элементов управления. Для организации Windows диалога следует проделать следующие действия: 1. Функция InputBox (для ввода строки текста в программу c помощью окна диалога Windows): - формат вызова функции: Dim s As String S=InputBox («приглашение»,[«значение по умолчанию»]) - функции преобразования чисел в типы данных: CInt(s) – Integer, CLng(s) – Long, CSng(s) – Single, CDbl(s) – Double, CDate(s) – Date, Cvar – Variant 2. Функция MsgBox (для организации диалога с пользователем): - формат вызова функции: response=MsgBox(«Текст сообщения»,флаги, «Заголовок») - аргументы функции: - «Текст сообщения» – сообщение пользователю, - флаги – комбинация системных констант VBA для вывода кнопок и пиктограммы к сообщению (vb…) (таблица 13.): Системные константы Таблица 13.
- при закрытии диалога в переменную response возвращается код нажатой кнопки (таблица 14.): Коды кнопок Таблица 14.
- ”Заголовок” – текст для заголовка окна (необязателен).
Пример 1. Функция MsgBox (рис 38.) Сообщение в модуле - Insert / Module
Рисунок 38. Применение функции MsgBox.
Пример 2. Вычисление и вывод суммы (рис. 39.) Рисунок 39. Применение функции MsgBox. Пример 3. Функция InputBox (рис. 40.)
Рисунок 40. Применение функции IntBox. Контрольные вопросы 1. Перечислите основные элементы управления в приложениях VBA? 2. Назначение элементов управления в приложениях VBA для отображения и ввода текста? 3. Перечислите элементы управления в приложениях VBA для организации устройства ввода и вывода? Литература 1. Акулов О.А., Медведев Н.В. Информатика: базовый курс учебное пособие для студентов вузов, бакалавров, магистров обучающихся по направлению «Информатика и вычислительная техника» ОМЕГА-Л, 2009 г. 2. Борковский, А.Б. Англо-русский словарь по программированию и информатике (с толкованиями) - М.: Московская международная школа переводчиков, 1992., - 338 с. 3. Вирт Н. Алгоритмы и структуры данных. – СПб.:Невский диалект, 2001 г. 4. Волков В.Б., Макарова Н.В. Информатика: Учебник для вузов. Стандарт третьего поколения – С.Петербург, 2011 г. 5. Демидова Л.А., Пылькин А.Н. Программирование в среде VBA:Практикум. – М.:Телеком, 2004 6. Зиборов, В. Visual Basic 2010 на примерах (+ CD-ROM) - БХВ-Петербург, 2010 г. 7. Иванова Г.С. Основы программирования – М.:Изд-во МГТУ им. Н.Э. Баумана, 2002 г. 8. Керниган Б., Пайк Р. Практика программирования, 2001 г. 9. Крылов, Е.Д., Острейковский, В.А., Типикин, Н.Г. Техника разработки программ в 2 кн. Кн. 1: Программирование на языке высокого уровня - М.: Высшая школа, 2007, 375с 10. Культин Н., Цой Л. Visual Basic для студентов и школьников - СПБ, М:2010 11. Курбатова Е. А. Microsoft Office Excel 2010. Самоучитель 2010 12. Свиридова М.Ю. Электронные таблицы Excel Академия 2009 г. 13. Симонович С.В. Информатика. Базовый курс: Учебник для вузов. – С.Петербург, 2010г. 14. Слепцова Л.Д. Программирование на VBA в Microsoft Office 2010 Диалектика, Вильямс, 2010 г. 15. Хальворсон М. VBA Шаг за шагом - М.: ЭКОМ Паблишерз, 2007
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |