
- •Оглавление
- •1. Основные этапы решения задач на эвм
- •2. Элементы управления и пользовательская форма vba
- •2.1 Элементы управления
- •2.2 Режим конструктора
- •2.3 Установка свойств элемента управления
- •2.4 Редактор кода
- •2.5 Пользовательская форма UserForm
- •2.5.1 Семейство Controls
- •2.5.2 Создание пользовательской формы
- •2.6 Общие свойства элементов управления
- •2.6.1 Соглашения об именах
- •2.7 Общие методы и события элементов управления
- •2.8 Стандартные объекты и элементы управления
- •2.8.1 Объект DataObject
- •2.8.2 Поле
- •2.8.3 Надпись
- •2.8.4 Кнопка
- •2.8.5 Список
- •2.8.6 Поле со списком
- •2.8.7 Полоса прокрутки и счетчик
- •2.8.8 Переключатель
- •2.8.9 Рамка
- •2.8.10 Флажок и выключатель
- •2.8.11 Рисунок
- •2.8.12 Ссылки на ячейки и диапазоны
- •2.8.13 Набор страниц
- •2.8.14 Набор вкладок
- •2.9 Последовательность выбора элементов управления
- •2.10 Диалоговые окна
- •2.10.1 Инициализация и отображение диалогового окна
- •2.10.2 Закрытие диалогового окна
- •2.10.3 Отображение встроенных диалоговых окон
- •3. Типы данных, переменные и константы
- •3.1 Типы данных
- •3.2 Описание переменных
- •3.2.1 Допустимые имена
- •3.3 Константы
- •3.4 Комментарии
- •4. Операции vba
- •4.1 Математические операции
- •4.2 Операции отношения
- •4.3 Логические операции
- •4.4 Операции со строками
- •4.5 Приоритеты операций
- •4.6 Встроенные функции vba
- •4.7 Функции преобразования форматов
- •4.7.1 Функции обработки строк
- •4.8 Инструкции vba
- •4.8.1 Оператор присваивания
- •4.8.2 Расположение нескольких операторов на одной строке
- •5. Ввод и вывод информации
- •6. Реализация разветвляющихся алгоритмов в vba
- •7. Операторы цикла
- •8. Массивы
- •9. Подпрограммы
- •9.1 Процедуры
- •9.2 Переход в подпрограмму и возвращение из подпрограммы
- •9.3 Вызов процедуры
- •9.4 Область определения переменной
- •9.5 Время жизни переменной
- •9.6 Рекурсивные процедуры
- •10. Работа с файлами
- •10.1 Типы файлов в vba
- •10.2 Открытие и закрытие файла
- •10.3 Ввод данных в файл последовательного доступа
- •10.4 Вывод данных из файла последовательного доступа
- •10.5 Работа с файлом произвольного доступа
- •10.6 Наиболее употребляемые инструкции и функции при работе с файлами
- •11. Примеры решения задач и порядок разработки программ
- •11.1 Линейный алгоритм
- •11.2 Разветвляющийся алгоритм
- •11.3 Циклический алгоритм
- •11.4 Одномерный массив
- •11.5 Вложенные циклы. Двумерные массивы
- •11.6 Файлы произвольного доступа
- •12. Практические задания
- •12.1 Линейный алгоритм: вычисление арифметического выражения
- •12.2 Линейный алгоритм: вычисление по математическим и физическим формулам
- •12.3 Разветвляющийся алгоритм: выбор по условию
- •12.4 Циклический алгоритм: цикл с параметром
- •12.5 Циклический алгоритм: цикл с предусловием
- •12.6 Циклический алгоритм: цикл с постусловием
- •12.7 Одномерные массивы (векторы)
- •12.8 Вложенные циклы. Двумерные массивы (матрицы)
- •12.9 Массивы: сортировка, поиск минимального (максимального) элемента
- •12.10 Строковый тип данных
- •12.11 Файлы произвольного доступа
- •12.12 Файлы последовательного доступа
- •12.13 Подпрограммы пользователя (процедуры)
- •12.14 Подпрограммы пользователя (функции)
- •Библиографический список
2.5 Пользовательская форма UserForm
Пользовательская форма UserForm предоставляет пользователю возможность создавать диалоговые окна разрабатываемых приложений. Она служит базой пользовательского диалогового окна, на которой в зависимости от решаемой задачи размещают требуемые элементы управления.
Семейство UserForms является семейством, компоненты которого представляют все загруженные формы UserForm в приложении. Как и все семейства, UserForms имеет свойства Count (возвращает число компонентов в семействе) и Item (возвращает определенный компонент семейства), а также метод Add (добавляет к семейству новый компонент).
Приведем основные свойства, методы и события пользовательской формы.
Наиболее часто используемые свойства объекта UserForm
Name |
Возвращает имя пользовательской формы |
Caption |
Возвращает текст, отображаемый в строке заголовка формы |
BackColor |
Возвращает цвет фона формы |
BorderStyle |
Устанавливает тип границы |
Picture |
Указывает рисунок, отображаемый как фон формы |
Left И Top |
Возвращают местоположение верхнего левого угла формы в пунктах |
Height и Width |
Возвращают высоту и ширину формы в пунктах |
StartUpPosition |
Возвращает значение, определяющее положение формы при ее первом отображении на экране. Допустимые значения: – Manual (начальное значение не устанавливается), – СenterOwner (выравнивание по центру объекта, к которому принадлежит форма), – CenterScreen (выравнивание по центру экрана), – Windows Default (положение верхнего левого угла экрана) |
Наиболее часто используемые методы объекта UserForm
Show |
Отображает форму на экране |
Hide |
Закрывает форму |
Move |
Изменяет положение и размер формы |
PrintForm |
Печатает изображение формы |
Основные события объекта UserForm.
Initilize |
Происходит при отображении формы на экране |
Terminate |
Происходит при закрытии формы |
2.5.1 Семейство Controls
Доступ к семейству всех элементов управления, расположенных в пользовательской форме UserForm, осуществляется с помощью семейства Controls. Например, чтобы скрыть все элементы управления формы UserForm, можно использовать код, в котором свойству Visible элемента управления, определяющему, отображается ли этот элемент на экране или нет, устанавливается значение False:
For Each Элемент in UserFormI.Controls
Элемент.Visible = False
Next Control
2.5.2 Создание пользовательской формы
Обсудим процесс создания пользовательской формы на примере конструирования простейшего диалогового окна.
Шаг 1 Выберите команду Сервис, Макрос, Редактор Visual Basic (Tools, Macro, Visual Basic) для того, чтобы перейти в редактор Visual Basic.
Шаг 2 Выберите команду Вставить User Form (Insert UserForm). В редакторе Visual Basic появятся: – Окно с пользовательской формой; – Панель инструментов Панель элементов (Toolbox) (рис. 2.6).
Шаг З Используя диалоговое окно Свойства (Properties), отображаемое нажатием кнопки и Панель элементов (Toolbox), создайте из пользовательской формы диалоговое окно, показанное на рисунке 2.7. Это окно состоит из трех кнопок и одного поля. Свойство Caption пользовательской формы определите равным Песнь о воробушке и бабочке, а кнопок – равными Первый акт, Второй акт и Третий акт.
Шаг 4 Для того чтобы написать процедуру обработки события нажатия кнопки Первый акт, дважды щелкните ее. Активизируется модуль UserForm1, в который введите процедуру: Private Sub CommandButton1_Click () TextBox1.Text = "Воробышек за бабочкой прыг-прыг-прыг" End Sub
Рисунок 2.6 Окно редактора Visual Basic с пользовательской формой и панелью элементов
Для обработки событий нажатий кнопок Второй акт и Третий акт в модуле UserForm1 введите следующие две процедуры:
Private Sub ConmmandButton2_Click ()
TextBoxl.Text = "Воробышек за бабочкой скок-скок-скок"
End Sub
Private Sub CommandButton3 Click()
TextBoxl.Text = "Воробышек бабочку ням-ням-ням"
End Sub
Шаг 5 Процесс создания диалогового окна и процедур, связанньк с ним, завершен. Для того чтобы проверить, как работает созданная программа, нажмите кнопку Запуск подпрограммы/UserForm (Run). На экране на фоне рабочего листа отобразится диалоговое окно Песнь о воробушке и бабочке. Для проверки функционирования кнопок нажмите, например, кнопку Первый акт. В поле выведется сообщение Воробышек за бабочкой прыг-прыг-прыг (рис. 2.7). Для закрытия диалогового окна Песнь о воробушке и бабочке нажмите системную кнопку, расположенную в верхней правой части строки заголовка диалогового окна.
Рисунок 2.7 Редактор Visual Basic с преобразованной пользовательской формой для создаваемого приложения