Создание интерактивных презентаций в PowerPoint с помощью VBA программирования

XXIII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Создание интерактивных презентаций в PowerPoint с помощью VBA программирования

Стручков А.А. 1Панферов А.К. 1
1ЧОУ СОШ "Экополис"
Кушнир О.А. 1
1ЧОУ СОШ "Экополис"
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

Объект исследования: программное обеспечение для подготовки и просмотра презентации MicrosoftPowerPoint.

Тема проекта: создание интерактивных презентаций в PowerPoint с помощью VBA программирования.

Гипотеза: мы предполагаем, что, создав инструкцию, каждый сможет сделать программируемые презентации в PowerPoint.

Цель: разработать пошаговую инструкцию для создания программируемой презентации-викторины с возможностью подсчета ответов и выявления команды победителей.

Задачи:

  1. Изучить основы языка VBA: переменные и их типы, константы, операторы условного перехода, встроенные функции;

  2. Научиться размещать элементы управления презентации (текстовое поле, подпись, кнопки), настраивать их свойства;

  3. Написать программный код и настроить переходы для управляющих элементов;

  4. Разработать инструкцию по созданию викторины в PowerPoint средствами VBA программирования.

Форма работы: групповая.

Глава 1. Основы языка программирования Microsoft Visual Basic

В PowerPoint предусмотрено множество возможностей для создания эффективных и интересных презентаций, а пользовательский интерфейс приложения позволяет с легкостью воспользоваться этими возможностями. В приложения Office, в том числе PowerPoint, интегрирован Visual Basic для приложений (VBA), язык программирования, позволяющий расширять возможности этих приложений.

VBA позволяет выполнять макросы — пошаговые процедуры, написанные на языке Visual Basic.

Бесспорно, самая распространенная причина использования VBA в PowerPoint — это необходимость автоматизации повторяющихся задач или добавление новых возможностей в PowerPoint.

Одним из ключевых элементов любого языка программирования являются переменные. В VBA они могут быть объявлены одним из следующих типов данных: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String * length (для строк фиксированной длины), Object или Variant

Переменные — это контейнеры для хранения изменяемых данных. Без них не обходится практически ни одна программа.

Пример работы с переменными в VBA может выглядеть так:

Dim nMyAge As Integer

nMyAge = nMyAge + 10

MsgBox nMyAge

Перед работой с переменной нужно ее объявить. Объявление переменной выглядит так:

Public Const Nmax = 6

В VBA предусмотрено 4 ключевых слова для определения области видимости переменных.

  • Dim — используется в большинстве случаев. Если переменная объявлена как Dim в области объявлений модуля, то она будет доступна во всем модуле, если в процедуре — только на время работы этой процедуры.

  • Private — при объявлении переменных в стандартных модулях VBA значит то же, что и Dim.

  • Public — такая переменная будет доступна всем процедурам во всех модулях данного проекта, если объявить ее в области объявлений модуля.

  • Static — такие переменные можно использовать только внутри процедуры. Эти переменные видны только внутри процедуры, в которой они объявлены, зато они сохраняют свое значение между разными вызовами этой процедуры. Обычно используются для накопления каких-либо значений.

В нашем проекте мы использовали слово Public так как нам нужно было чтобы переменная была доступна во всех модулях.

Константы — еще один контейнер для хранения данных, но, в отличие от переменных, они не изменяются в ходе выполнения VBA-программы. Константы используют в следующих случаях:

  • код становится более читаемым, убираются потенциальные ошибки;

  • чтобы изменить какое-либо значение в коде, это нужно сделать всего один раз — в объявлении константы.

В VBA константы определяются при помощи ключевого слова Const:

Const Nmax = 6

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

Операторы условного перехода — одни из самых важных и часто используемых элементов в языках программирования. Общий принцип их работы прост: проверяется соответствие каким-то условиям (истинность или ложность каких-либо выражений) и в зависимости от этого выполнение программы направляется по одной или другой ветви. В VBA предусмотрено два оператора условного перехода: If...Then и Select Case.

Мы использовали в своем проекте операторы If ... Then и Goto. Полный синтаксис оператора If ... Then выглядит так (необязательные части заключены в квадратные скобки):

If Условие Then

Команды1

[ElseIf УсловиеN Then

КомандыN]

[Else Команды2]

End If

При этом:

  • Условие — выражение, которое проверяется на истинность. Если оно истинно, то выполняются Команды1, если ложно — Команды2;

  • Условия N — дополнительные условия, которые также можно проверить.

Мы применили этот оператор для проверки правильности ответов:

If (b = "курсор") Or (b = "КУРСОР") Or (b = "Курсор") Then

SlideShowWindows(1).View.GotoSlide (8)

Else

SlideShowWindows(1).View.GotoSlide (7)

EndIf

Оператор GoTo — это оператор безусловного перехода, когда ход выполнения программы без проверки каких-либо условий перепрыгивает на метку в коде.

Мы применили этот оператор для перехода на слайд с вопросами:

SlideShowWindows(1).View.GotoSlide (2)

В языке программирования VBA предусмотрено несколько десятков встроенных функций. В нашем проекте мы использовали:

Val() — "вытаскивает" из смеси цифр и букв только числовое значение. При этом функция читает данные слева направо и останавливается на первом нечисловом значении (допускается единственное нечисловое значение — точка, которая будет отделять целую часть от дробной). Очень удобно, когда у нас вперемежку с числовыми данными прописываются единицы измерения или валюта.

RGB() — еще одна функция для работы с цветом. Позволяет вернуть RGB-код, который можно использовать для присвоения цвета, приняв три значения для цветов: красного (Red), зеленого (Green) и синего (Blue). Значение для каждого из основных цветов могут варьироваться от 0 до 255. Например, самый зеленый из возможных цветов получится, если переданные этой функции значения будут выглядеть как RGB (0, 255, 0).

TypeName () — функция, которая возвращает имя типа данных для переданной ей переменной. Очень удобна для определения типа данных для значения, полученного из базы данных или путем вызова метода какого-то объекта.

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

Глава 2. Принцип работы презентации, коды для управляющих элементов

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

Для каждого элемента мы написали программный код:

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

Private Sub CmdStart_Click()

n = 0

Slide4.Label3.Caption = ""

Slide4.Label1.Caption = 0

Slide4.Label2.Caption = 0

Slide4.TextBox1 = "Команда 1"

Slide4.TextBox2 = "Команда 2"

Slide4.TextBox2.BackColor = RGB(255, 255, 255)

Slide4.TextBox1.BackColor = RGB(255, 255, 255)

SlideShowWindows(1).View.GotoSlide (2)

End Sub

Код для элемента «кнопка» на слайде «Увы…» позволяет перейти на слайд с выбором вопроса, перекрашивает цвет поля команды, указывая какая команда выбирает вопрос, считает количество баллов команд и выводит результат игры (название команды победителей или ничью).

Private Sub CmdNo_Click()

n = n + 1

If (n Mod 2 = 1) Then

Slide2.Label1 = Val(Slide2.Label1.Caption) + 0

Slide2.TextBox1.BackColor = RGB(60, 162, 176)

Slide2.TextBox2.BackColor = RGB(255, 255, 255)

Else

Slide2.Label2 = Val(Slide2.Label2.Caption) + 0

Slide2.TextBox2.BackColor = RGB(60, 162, 176)

Slide2.TextBox1.BackColor = RGB(255, 255, 255)

End If

If (n = Nmax) And (Slide2.Label1.Caption = Slide2.Label2.Caption) Then

Slide2.Label3.Caption = "Ничья"

End If

If (n = Nmax) And Slide2.Label1.Caption > Slide2.Label2.Caption Then

Slide2.Label3.Caption = "Команда 1"

End If

If (n = Nmax) And Slide2.Label1.Caption < Slide2.Label2.Caption Then

Slide2.Label3.Caption = "Команда 2"

End If

SlideShowWindows(1).View.GotoSlide (2), False

End Sub

Те же функции исполняет кнопка CmdYes_Click() на слайде «МОЛОДЦЫ!». Но в отличие от CmdNo_Click() на слайде «Увы…», она добавляет балл той команде, которая выбирала вопрос и при ответе перешла на слайд «МОЛОДЦЫ!».

Изменения в программе представлены ниже:

Private Sub CmdYes_Click()

..

If (n Mod 2 = 1) Then

Slide2.Label1 = Val(Slide2.Label1.Caption) + 1

..

Slide2.Label2 = Val(Slide2.Label2.Caption) + 1

End If

Также на 2 слайде мы установили управляющие кнопки, которые осуществляют переход на слайды с вопросами. Например, при нажатии кнопки «1» осуществляется переход на слайд с первым вопросом, где нужно ответить на вопрос. В случае правильного ответа происходит переход на слайд «МОЛОДЕЦ!» и зачисляется балл соответствующей команде, иначе — переход на слайд «Увы…». Все переходы производятся при помощи гиперссылок.

В презентации присутствуют слайды двух видов: с выбором ответа и с открытым ответом.

На слайдах с выбором ответа размещены текст с вопросом, изображение к нему и варианты ответов. При выборе неверного ответа происходит переход на слайд «Увы...», иначе — на слайд «МОЛОДЕЦ!». Переход происходит при помощи гиперссылок. На слайдах с вводом ответа мы разместили сам вопрос, текстовое поле для ввода ответа, кнопку для его проверки, при нажатии на которую презентация переключается на один из слайдов проверки ответа. После выполнения всех заданий происходит переход на 2 слайд презентации, где выводится название победившей команды.

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

Заключение

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

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

Инструкцию «Создание интерактивной презентации в PowerPoint с выбором ответа и с открытым ответом» мы разместили на сайте Инфоурок. Ссылка на ресурс: https://infourok.ru/ispolzovanie-elementov-programmirovaniya-pri-sozdanii-interaktivnoy-prezentacii-v-srede-poerpoint-2223112.html.

Используемая литература

  1. https://www.yourtodo.ru/posts/vba/

  2. Петровская Т. А., Лозко Е. И., Кушнер Д.Л. VBA программирование в PowerPoint Учебно-методическое пособие для студентов специальности 143 01 05 «Промышленная теплоэнергетика». Минск, 2013.—45 с.: ил.

  3. Ростислав Михеев. VBA и программирование в MS OFFICE для пользователей. - Москва Санкт Петербург. 2006—369

  4. Карли Уотсон, Кристиан Нейгел, Якоб Хаммер Педерсен, Джон Д. Рид, Морган Скиннер, Эрик Уайт. Visual C# 2008 базовый курс. Москва, Санкт-Петербург, Киев. 2009—1209 с.: ил

Просмотров работы: 23