Тесты в MS PowerPoint

Элементы слайда

Виды слайдов

Алгоритмы реализации

Демонстрационный тест

Автоматизация тестирования

На главную

Элементы слайда

Флажки и переключатели

В результате множества экспериментов задачу управления из модуля элементами ActiveX удалось решить. Так, например, чтобы отметить из модуля переключатель OptionButton1 на первом слайде, можно использовать следующую команду:

ActivePresentation.Slides.Item(1).Shapes("OptionButton1") _
.OLEFormat.Object.Value = True

Но на начальной стадии ситуация казалась безвыходной, вплоть до того, что появилась мысль создания собственных флажков и переключателей. Идея оказалась плодотворной. Она позволила не только решить вопрос с управлением, но и увеличить площадь зоны выбора, а также выполнять их закраску, вплоть до градиентных и других способов заливки, обычными средствами PowerPoint.

Конструкция флажков и переключателей

Как предлагаемые флажки, так и переключатели состоят из одного и того же количества элементов, объединенных в группу. Так, например, флажок представляет собой группу, состоящую из прямоугольника, лежащего в основании, в который добавлен текст – порядковый номер флажка, двух квадратов разного размера с градиентной диагональной заливкой, варианты которой отличаются относительным поворотом на 180°, еще одного квадрата с однородной белой заливкой и «галочки», нарисованной с помощью инструмента «Полилиния».

Последние два элемента с помощью диалогового окна «Настройка действия» привязаны к соответствующей подпрограмме для обработки выбора флажков и переключателей.

Еще одним достоинством таких управляющих элементов является то, что их размеры можно изменять, при этом, в отличие от стандартных флажков и переключателей, меняется и площадь зоны выбора.

При выборе другого шаблона оформления или цветовой схемы меняется и дизайн управляющих элементов, но если вас не удовлетворяет их цветовая гамма, ее можно  переделать по своему вкусу. Перекраска и масштабирование всех элементов выбора даже на одном слайде – дело хлопотное. Для облегчения участи пользователя эта процедура автоматизирована. Так, чтобы видоизменить флажки на слайде копии конструктора, нужно в режиме просмотра отметить один из них так, чтобы метка в центре была видна, затем, перейдя в режим редактирования, удалить остальные. Выполнив операции по преобразованию оставшегося флажка, следует сочетанием клавиш Alt+F8 вызвать диалоговое окно  «Макрос» и, нажав на кнопку «Запуск», восстановить с помощью выделенного в верхней строке макроса «Copy_FP» полный комплект обновленных флажков.

Обновление переключателей производится аналогично.

Окно запуска макросов

Не рекомендуется разгруппировывать управляющие элементы, но при необходимости изменения относительных размеров их компонентов эта операция допустима. До ее выполнения следует также оставить только один флажок и только один переключатель с активными метками. После разгруппировки и видоизменения составляющих форм следует их все снова сгруппировать, не нарушая порядка,. Для восстановления остальных обновленных управляющих элементов необходимо воспользоваться вышеописанной процедурой запуска макроса «Copy_FP», только в этом случае образец флажка или переключателя должен быть предварительно выделен.

Допускается удаление порядкового номера на элементах реализации выбора или замена его, например, буквами алфавита и даже текстом (при увеличении размера подложки).

Имена объектов

В VBA к одному и тому же объекту можно обратиться разными способами:

  • с помощью идентификатора – уникального порядкового номера, присваиваемого при создании объекта;

  • с помощью индекса – порядкового номера слоя, на котором находится объект, считая от заднего плана к переднему;

  • с помощью собственного имени объекта, автоматически присваиваемого в момент создания и состоящего из названия фигуры или группы на английском языке и соответствующего индекса.

Все эти возможности малопригодны для программирования поведения объектов, которые будут создаваться пользователем даже при копировании уже существующих форм. Дело в том, что в этом случае заранее практически невозможно определить их идентификаторы. Та же проблема с индексами, а значит, и с именами, так как при операциях изменения порядка или группировки, исключить которые со стороны пользователя нельзя, индексы после копирования непредсказуемо изменятся.

Но не все так безнадежно. Оказывается в VBA объектам можно давать пользовательские имена, которые при копировании не изменяются. Если такие объекты находятся на одном слайде, то это может привести к неопределенности, но в нашем случае они будут располагаться на разных слайдах, что позволит решить задачу обращения к элементам. Правда, в PowerPoint графического интерфейса для переименования не существует, но это можно сделать с помощью макросов.

Для этого сочетанием клавиш Alt+F11 переходим в окно встроенной в офисные приложения среды Visual Basic for Application и если в проводнике проекта отсутствует модуль, вставляем его через контекстное меню, в котором выбираем Insert – Module. Выполнив двойной щелчок мышью на появившемся значке модуля, перейдем в окно редактирования его кода.

Проводник проекта

Сначала определяем имя объекта. Это можно сделать с помощью подпрограммы, которая в данном случае выводит имена всех объектов на активном слайде в порядке от заднего плана к переднему:

 

Sub Name1()

    Set Sh = ActiveWindow.Selection.SlideRange.Shapes

    Im = ""

    For Each fr In Sh

        Im = Im & fr.Name & vbCrLf

    Next

    MsgBox Im

End Sub

 

Чтобы ее запустить, следует вернуться в приложение PowerPoint, сочетанием клавиш Alt+F8 вызвать диалоговое окно «Макрос», выделить в нем имя приведенной подпрограммы и нажать кнопку «Запуск». Появится окно сообщения, в котором будут выведены названия всех отдельных фигур и групп на данном слайде.

Окно настройки действий

При затруднениях с определением нужного имени объекта из полученного списка или из группы нужно воспользоваться другой процедурой, которую предварительно с помощью диалогового окна «Настройка действия» необходимо привязать к соответствующей фигуре, а затем в режиме просмотра презентации сделать по ней щелчок:

 

Sub Name2(nSh As Shape)

    MsgBox nSh.Name

End Sub

 

Если, например, фигура называется «Oval 7», то пользовательское имя «Fig_1» ей можно задать макросом:

 

Sub Name3()

    ActiveWindow.Selection.SlideRange.Shapes("Oval 7") _

    .Name="Fig_1"

End Sub

 

Все объекты, к которым приходится обращаться в подпрограммах данного конструктора, имеют собственные имена, присвоенные этим способом. Имена управляющих элементов, дабы польстить тщеславию автора, состоят из его инициалов и порядкового номера. У флажков и переключателей с одинаковыми номерами имена совпадают, что упрощает код конструктора, но так как они располагаются на разных слайдах, то проблем с идентификацией не возникает. Программно же элементы различаются по второму компоненту в группе: у переключателей это кружок («Oval»), а у флажков – квадрат («Rectangle»).

При разгруппировке объекта его имя утрачивается, а при повторной группировке составляющих элементов образуется новый объект, которому автоматически присваивается имя вида «Group N», где N – очередной индекс. Именно по этой причине не рекомендуется разгруппировывать флажки и переключатели или включать их в состав других групп. Упоминавшийся макрос «Copy_FP» позволяет не только копировать управляющие элементы, но и восстанавливать их пользовательские имена.

Неудаляемые элементы

Все графические элементы, используемые на слайдах конструктора, можно распределить на неудаляемые и допускающие такую операцию. К первым относятся элементы, к которым в процессе выполнения теста происходит обращение из программного кода конструктора. Прежде всего, это надписи с числом заданий и временем тестирования на всех слайдах, кроме того:

  • на слайдах с заданиями и информационных слайдах это надпись «Задание» и кнопка «Далее» (на предпоследнем слайде кнопка «Итоги»);

Неудаляемые элементы на слайде с заданиями

  • на первом слайде надписи «Время тестирования» и «мин.», кнопка «Начать тестирование», а также поле для ввода фамилии и имени;

 

Неудаляемые элементы на титульном слайде

  • на последнем слайде надписи с числом правильных ответов, процентами, оценкой и перечнем номеров заданий, в которых допущены ошибки.

Неудаляемые элементы на слайде вывода результатов

К неудаляемым элементам не следует применять операцию группировки, но можно перемещать, изменять размеры, цвет, редактировать и форматировать содержащийся текст.

Что касается флажков и переключателей, то их следует оставлять столько, сколько имеется вариантов ответа в каждом конкретном задании, остальные – удалять. Если в вашем тесте предполагается, что количество предлагаемых вариантов будет не более четырех, то лишние элементы реализации выбора на копии конструктора можно удалить сразу же.

Для реализации мультимедийных возможностей приложения PowerPoint на слайды теста можно добавлять как растровую, так и векторную графику, звуки, GIF-анимацию, видеоролики, использовать эффекты анимации.

Справедливости ради надо отметить, что с анимацией и видео не все так просто, как хотелось бы. При отключенном таймере обратного отсчета проблем не возникает. Они могут появиться при необходимости учета времени, оставшегося до конца тестирования. Запущенный таймер конфликтует со стандартными средствами реализации анимации, так как отнимает значительные ресурсы процессорного времени. В случае необходимости использования и того и другого, рекомендуется размещать анимированные объекты на информационных слайдах, предварительно отключив учет времени на них так, как это было описано в настройках первого слайда. Время демонстрации такого слайда можно ограничить стандартными возможностями PowerPoint.

Назад Вверх Далее

Тесты в MS PowerPoint Элементы слайда Виды слайдов Алгоритмы реализации
Демонстрационный тест Автоматизация тестирования

© 2009 Государственное областное образовательное учреждение
"Россошанская школа-интернат для детей-сирот и детей, оставшихся без попечения родителей"