- •Федеральное агентство по образованию
- •Глава 1. Особенности электронных учебных пособий и основные принципы их создания
- •1.1 Специфика электронного учебника
- •1.2 Принципы, которыми следует руководствоваться при создании электронного учебника по офисному программированию
- •1.3 Структура электронного учебника
- •1.4 Достоинства и недостатки электронных учебников
- •1.5 Современное состояние и перспективы электронного книгоиздания
- •Глава 2. Разработка электронного учебного пособия по офисному программированию
- •2.1 Сбор и подготовка исходного материала для электронного учебного пособия по офисному программированию
- •2.2 Разработка структуры учебника
- •2.3 Выбор программ для разработки электронного учебного пособия
- •2.4 Разработка интерфейса электронного пособия
- •2.5 Руководство пользователя
- •Глава 3. Краткое содержание электронного учебного пособия «Офисное программирование»
- •3.1 Типы данных, условные операторы и массивы vba
- •3.2 Объект UserForm. Создание vba-программ
- •3.3 Особенности использования vba в Word
- •3.4 Особенности использования vba в Excel
- •3.5 Построение диаграмм средствами vba
- •3.6 Глоссарий
- •3.7 Тест
- •Вопрос №3
- •Заключение
- •Список используемой литературы
- •Приложение Приложение 1
3.7 Тест
Вопрос №1
При каких условиях происходит событие Change:
A. При уведомлении об ошибке
B. Когда пользователь выбирает данный элемент управления
C. Происходит, когда элемент управления получает или теряет фокус.
D. При изменении значения элемента управления
Вопрос №2
При помощи какой процедуры обработки событий происходит инициализация формы:
A. Initilize
B. Show
C. Hide
D. Arglist
Вопрос №3
Диалоговое окно создается ...
A. Визуально
B. Программно
C. Нет верного ответа.
Вопрос №4
Какой оператор нужно использовать, чтобы создать массив, областью видимости которого станет вся программа?
A. Private.
B. Dim.
C. Public.
D. Static.
Вопрос №5
Свойство List элемента ListBox ...
A. Возвращает элемент списка с наибольшим номером
B. Устанавливает число столбцов в списке
C. Возвращает выбранный в списке элемент
D. Возвращает номер текущего элемента
E. Возвращает элемент списка на пересечении указанных строки и столбца
Вопрос №6
Какое из двух выражений написано верно, если "Петр" и "Иванович" типа String?
1) "Петр" & " " & "Иванович"
2) "Петр" + "Иванович"
A. В обоих выражениях допущены ошибки.
B. Второе выражение верное.
C. Оба выражения верны.
D. Первое выражение верное.
Вопрос №7
Что делает функция int(2*Rnd):
A. Выделяет целую часть числа
B. Вычисляет длину окружности
C. Является генератором случайных чисел 1 и 0
D. Выделяет дробную часть числа
Вопрос №8
Какой тип данных является целочисленным?
A. Integer
B. String
C. Boolean
D. Double
Вопрос №9
Закрытие диалогового окна производится методом ...
A. Close
B. Hide
Вопрос №10
Свойство Enabled встречается у многих элементов управления, в чем его основная функция:
A. Разрешает изменения или доступ пользователя
B. Запрещает изменения или доступ для пользователя
Вопрос №11
Сколько способов заполнения Списка?
A. 4
B. 3
C. 6
D. 5
Вопрос №12
Как расшифровывается VBA?
A. Visual Basic for A
B. Visual Basic for Ap
C. Visual Basic for Access
D. Visual Basic for Applications
Ключ к тесту.
1. D.
Общие методы и события элементов управления:
Таблица 3.7.1 Основные общие методы элементов управления.
Add |
Позволяет добавить элемент управления во время выполнения программы |
Move |
Перемещает элемент управления |
SetFocus |
Устанавливает фокус на вызвавшем этот метод элементе управления. Часто применяется в программах обработки ошибок |
Zorder |
Помещает объект до или после всех пересекающихся с ним объектов |
Таблица 3.7.2 Общие события элементов управления
Click |
Происходит, когда пользователь выбирает элемент управления с помощью одинарного щелчка кнопкой мыши |
DblClick |
Происходит, когда пользователь выбирает элемент управления с помощью двойного щелчка кнопкой мыши |
KeyPress |
Происходит, когда пользователь нажимает любую клавишу на клавиатуре, кроме функциональных и клавиш управления курсором |
Change |
Происходит при изменении значения элемента управления |
GotFocus и LostFocus |
Происходит, когда элемент управления получает или теряет фокус |
Error |
Используется при уведомлении об ошибке |
2. A.
Комментарий:
Инициализировать и отобразить диалоговое окно на экране очень просто. Инициализация производится при помощи процедуры обработки события Initilize формы UserForm. Отображение диалогового окна на экране осуществляется методом Show. Инструкция с методом Show обычно помещают в процедуру, которая связана с командой пользовательского меню, кнопкой панели инструментов или элементом управления, как правило кнопкой диалогового окна.
Простой инициализации или обычного отображения диалогового окна часто бывает недостаточно, т.к. это приводит к появлению на экране функционально ненастроенного диалогового окна. Такое диалоговое окно можно сравнить с каркасом дома. В таком доме жить неприятно и в него совсем не хочется въезжать. Для того чтобы жить в доме было приятно и удобно, прежде чем в него вселяться, надо сделать много отделочных работ. Также и при инициализации диалогового окна необходимо предусмотреть огромное количество на первый взгляд мелочей, но без которых работать с диалоговым окном неудобно. В частности, при отображении диалогового окна на экране необходимо установить значения полей, применяемые по умолчанию, задать функции кнопок, назначить им комбинации клавиш, связать с элементами управления всплывающие подсказки, вывести в списках первоначально выводимые элементы списков, задать первоначальную установку флажков, переключателей, вывести в элементы управления формы требуемые рисунки и т.д.
3. A.
Комментарий:
Диалоговые окна создаются, как правило, не программно, а визуально. Вначале создается само окно, а затем оно наполняется элементами управления при помощи соответствующей панели элементов. Этот этап называется этапом проектирования, и его следует отличать от этапа выполнения, когда приложение выполняется и конечный пользователь взаимодействует с приложением, в частности через диалоговые окна и их элементы управления. Как только создается диалоговое окно и помещается в него тот или иной элемент управления, в этот же самый момент автоматически в программе появляется объект соответствующего класса, с которым можно работать, вызывая его методы и изменяя его свойства.
4. С.
Комментарий:
Массивы создаются при помощи оператора Dim:
Dim ИмяМассива (размер) As Тип Данных
Если вместо слова Dim набрать слово Public, будет создан массив, областью видимости которого станет вся программа.
5. Е.
Комментарий:
Элемент управления ListBox(список) создается с помощью кнопки Список(ListBox) . Элемент управления ListBox применяется для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, который в последующем будут использоваться в тексте программы.
Таблица 3.7.3 Свойства элемента управления ListBox
Свойства элемента управления ListBox: | |
ListIndex |
Возвращает номер текущего элемента списка. Нумерация элементов списка начинается с нуля |
ListCount |
Возвращает число элементов списка |
TopIndex |
Возвращает элемент списка с наибольшим номером |
ColumnCount |
Устанавливает число столбцов в списке |
TextColumn |
Устанавливает столбец в списке, элемент которого возвращается свойством Text |
Enabled |
Допустимые значения:True(запрещен выбор значения из списка пользователем) и False(в противном стлучае) |
Text |
Возвращает выбранный в списке элемент |
List |
Возвращает элемент списка, стоящий на пересечении указанных строки и столбца. Синтаксис: List(row,column) |
RowSource |
Устанавливает диапазон, содержащий элементы списка |
ControlSource |
Устанавливает диапазон(ячейку), куда возвращается выбранный элемент списка |
MultiSelect |
Устанавливает способ выбора элементов списка. Допустимые значения: fmMultiSelectSingle(выбор только одного элемента)
fmMultiSelectExtended(разрешено использование клавиши при выборе ряда последовательных элементов списка) |
Selected |
Допустимые значения:True(если элемент списка выбран) и False(в противном случае). Используется для определения выделенного текста, когда свойство MultiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended |
ColumnWidths |
Устанавливает ширину столбцов списка. Синтаксис: ColumnWidths=String String - строка, устанавливающая ширину столбцов. В следующем примере устанавливается ширина каждого из трех столбцов списка: With ListBox1 .ColumnCount=3 .ColumnWidths="20;30;30" End With |
ColumnHeads |
Допустимые значения:True(выводятся заголовки столбцов раскрывающегося списка) и False(в противном стлучае) |
ListStyle |
Допустимые значения: fmListStylePlain(выбранный элемент из списка выделяется цветом) fmListStyleOption(перед каждым элементом в списке располагается флажок и выбор элемента из списка соответствует установке этого флажка) |
MatchEntry |
Выводит первый подходящий элемент из списка при наборе его имени на клавиатуре. Допустимые значения:
fmMatchEntryComplete(выводит подходящий элемент по полному набранному имени) |
BoundColumn |
Устанавливает тип, возвращаемый свойством Value. А именно, если свойство BoundColumn равно 0, то свойство Value возвращает индекс выбранной строки, т.е. в этом случае оно действует как свойство ListIndex если свойство Boundcolumn принимает значение из диапазона от 1 до количества столбцов в списке, то свойство Value возвращает элемент из выбранной строки, стоящий в столбце, определенным свойством BoundColumn |
6. D.
Комментарий:
Для данных типа String существует только одна операция – конкатенация (объединение). Например, результатом операции конкатенации трех строковых значений «Петр» & " " & «Иванович» будет строка «Петр Иванович»
7. C.
Комментарий:
Рассмотрим как можно на примере простейшей компьютерной игры разработать приложение.
Это приложение должно моделировать игру в орел и решку. Игрок вносит в банк определенную сумму денег. Во время игры нельзя добавлять деньги в банк. Игра состоит из последовательности шагов, которая, вообще говоря, может быть бесконечной. На очередном шаге игрок загадывает либо орел, либо решку. Компьютер "бросает монету". Если "монета падает той же стороной", которую загадал игрок, то банк увеличивается на единицу, в противном случае — уменьшается на единицу. Игра заканчивается либо по желанию игрока, либо когда величина банка становится нулем или больше 10 000. Игрок забирает себе содержимое банка. В приложении отслеживаются максимальные и минимальные суммы, которые были в банке в течение игры.
Конструируя данное приложение, вы на практике узнаете, как:
- Создавать из формы диалоговое окно
- Набирать код программы
- Программировать контроль ввода, т. е. проверять вводятся ли в поля числа или строковая информация
- Управлять запретом ввода данных в поле
- Работать с функцией генератора случайных чисел
- Выводить числовую информацию в поле
- Запускать программы на выполнение
Для моделирования бросания монеты потребуется генератор случайных чисел. Функция Rnd возвращает случайное число типа single из диапазона [0,1). Нам надо, чтобы моделировался процесс бросания монеты и с равной вероятностью генерировались два числа, скажем, 1 для орла и 0 для решки. На самом деле, этого легко достичь, рассматривая вместо Rnd функцию int(2*Rnd). Функция int отбрасывает дробную часть аргумента и возвращает его целую часть. По аналогии с помощью функции int (б* Rnd) +1 можно моделировать бросание игральной кости.
8. A.
Комментарий:
Любые текстовые данные, сохраняемые в программе VBA, называются строками (strings). Строки в VBA сохраняются с использованием типа данных String. Строки получили такое название, потому что текстовые данные обычно рассматриваются как строки символов. Строка может содержать текстовые символы любых типов: буквы алфавита, цифры, знаки пунктуации или различные символы.
Тип данных Boolean используется для хранения логических значений. Может содержать значения только True и False.
Тип данных Double имеет диапазон: Отрицательные числа от -1.8 *10306 до -4.9 * 10-324, Положительные числа от 4.9 * 10-324 до 1.8 *10308
Тип данных Integer включает в себя все целые числа от - 32 768 до 32 767.
9. B.
Комментарий:
В VBA диалоговые окна работают в режиме модального диалога. Это озгачает, что пользователь, прежде чем перейти к выполнению действий, не связанных с теукщим активным диалогвоым окном, должен его закрыть. Закрытие диалогового окна производится методом Hide. Следующая процедура является примером процедуры закрытия диалогового окна. Эта процедура активизируется при нажатии кнопки CommandButton2 диалогового окна UserForm1 и выполняет только одну инструкцию, осуществляющую закрытие диалогового окна.
Private Sub CommandButton2_click()
'Процедура закрытия диалогового окна
UserForm1.Hide
End Sub
Закрыть диалоговое окно также, конечно, можно, нажав системную кнопку, расположенную в правом верхнем углу любого диалогового окна. Если при закрытии диалогового окна необходимо произвести какие-то действия, например считать информацию из окна в файл на диске и т.д., во избежание потери информации, действия, производимые программой при закрытии окна, разумно также продублировать в процедуре обработки события Terminate (закрытие) пользовательской формы
10. A.
Комментарий:
Свойство Доступ (Enabled) задает или возвращает состояние условного формата в объекте Условие форматирования. Возвращается доступное для чтения и записи значение типа Логический.
Значение свойства Доступ (Enabled) показывает возможность использования условного формата. Значение Истина (True) разрешает условный формат. Значение Ложь (False) запрещает его. По умолчанию установлено значение Истина (True).
11. D.
Комментарий:
Заполнить список можно одним из следующих способов:
Поэлементно, если список состоит из одной колонки
Массивом, если список состоит из одной колонки
Из диапазона А1:В4, в который предварительно введены элементы списка. Результат выбора (индекс выбранной строки) выводится в ячейку С1
Поэлементно, если список состоит из нескольких колонок, например двух
Массивом, если список состоит из нескольких колонок, например двух
12. D.
Комментарий:
Visual Basic для приложений (VBA -Visual Basic for Applications) является инструментальным средством разработки приложений в среде основных компонентов Office: Word, Excel, PowerPoint, Access, FrontPage и Outlook. По замыслу разработчиков он может использоваться именно как средство разработки приложений, а не только в качестве инструмента настройки пользовательского интерфейса и редактирования макросов.
VBA непосредственно связан с языком Visual Basic (VB). Основное различие между ними формулируется следующим образом: проекты VBA выполняются только с помощью приложения, поддерживающего VBA, в то время как Visual Basic позволяет создавать полностью автономные приложения. С другой стороны, синтаксис языков VBA и VB практически одинаков. Оба языка имеют почти одинаковые интегрированные среды разработки.
Visual Basic для приложений является объектно-ориентированным языком, предоставляющим возможности визуального программирования. VBA содержит иерархию объектов, каждому из которых соответствует свой набор методов и свойств. Объекты представляют собой фундаментальные «строительные» блоки – почти все, что делается в среде VBA, включает модификацию объектов.