В PowerPoint предусмотрено множество возможностей для создания эффективных и интересных презентаций, а пользовательский интерфейс приложения позволяет с легкостью воспользоваться этими возможностями. Но иногда, несмотря на богатый набор возможностей стандартного пользовательского интерфейса PowerPoint, может понадобиться найти несложный способ выполнять рутинные, повторяющиеся задачи, а также те задачи, которые не удается решить с помощью пользовательского интерфейса. К счастью, в приложения Office, такие как PowerPoint, интегрирован Visual Basic для приложений (VBA), язык программирования, позволяющий расширять возможности этих приложений.
VBA позволяет выполнять макросы — пошаговые процедуры, написанные на языке Visual Basic. Научиться программировать не так сложно, как кажется. Терпеливые пользователи, изучавшие примеры, обнаруживают, что даже небольшие навыки программирования на VBA позволяют им выполнять в Office действия, которые раньше казались невозможными. Освоение одних приемов программирования упрощает освоение следующих — поэтому предоставляемые возможности неограниченны.
Бесспорно, самая распространенная причина использования VBA в PowerPoint — это необходимость автоматизации повторяющихся задач. Допустим, ваша презентация содержит большое количество пустых текстовых полей, которые необходимо удалить. Вместо того, чтобы искать, выбирать и удалять каждое пустое текстовое поле в каждом отдельном слайде, можно сделать так, что всю эту работу выполнял бы для вас макрос VBA в PowerPoint.
Другая распространенная причина использования VBA в PowerPoint — это добавление новых возможностей в PowerPoint. Например, вы можете создать макрос VBA, который будет выполняться прямо посреди презентации независимо от количества слайдов и выводить сообщение с указанием времени, оставшегося на показ презентации.
Существует множество других причин использовать VBA в PowerPoint, одна из важнейших среди которых — это выполнение задач, требующих взаимодействия PowerPoint с другими приложениями Office. Например, можно поместить весь текст презентации в файл данных с разделителями-запятыми (CSV), который можно открыть в Microsoft Excel 2010.
Основы программирования на VBA
Рассмотрим использование VBA в Microsoft PowerPoint 2010. Данную версию PowerPoint выберем, поскольку она по сравнению с более ранними имеет множество дополнительных возможностей для создания презентаций.
-
Объекты программироdания связаны друг с другом отношениями иерархии, которые зовутся объектной моделью приложения. Иначе говоря, объектная модель отображает то, что видим в пользовательском интерфейсе, например, объектная модель PowerPoint содержит среди многих других объекты Application, Presentation и Slide. Объектная модель представляет собой схему приложения и его возможностей.
-
Свойства и методы
Управлять объектами можно, задавая их свойства и вызывая их методы. Задание свойства изменяет некоторое качество объекта. Вызов метода заставляет объект выполнить некоторое действие. Например, объект Slide имеет метод Copy, помещающий копию слайда в буфер обмена, и свойство Layout, представляющее макет слайда.
-
Коллекции
Многие объекты существуют в версиях единственного и множественного числа — Presentation и Presentations, Slide и Slides и т. д. Версии множественного числа называются коллекциями. Объекты коллекции используются для выполнения действия над несколькими элементами коллекции.
Макросы и редактор Visual Basic
Теперь, познакомившись с принципом работы объектной модели Microsoft PowerPoint 2010, вы, вероятно, хотите попробовать вызвать методы объекта и задать его свойства. Для этого необходимо написать свой код так, чтобы он распознавался в Office. Обычно это делается с помощью редактора Visual Basic. Несмотря на то, что он установлен по умолчанию, многие пользователи не знают о его наличии, пока этот редактор не будет включен на ленте.
-
Вкладка Разработчик
Все приложения Office 2010 используют ленту. Среди других вкладок на ленте имеется вкладка Разработчик, на которой можно вызвать редактор Visual Basic и другие средства разработчика. Так как в Office 2010 вкладка Разработчик не показана по умолчанию, необходимо отобразить ее самостоятельно. Для этого нужно выполнить указанные ниже действия.
-
Отображение вкладки Разработчик
На вкладке Файл выберем пункт Параметры, чтобы открыть диалоговое окно Параметры PowerPoint.
Затем выберем элемент Настройка ленты в левой части диалогового окна.
В разделе Выбрать команды, расположенном слева в окне, нужно выбрать пункт Часто используемые команды.
В разделе Настройка ленты, который находится справа в диалоговом окне, выберем Основные вкладки, а затем установим флажок Разработчик.
Теперь можно нажать кнопку ОК.
Когда вкладка Разработчик отобразится в окне PowerPoint, необходимо обратить внимание на то, где на этой вкладке находятся кнопки Visual Basic, Макросы и Безопасность макросов.
Внешний вид вкладки Разработчик представлен на рисунке 1.
-
Проблемы безопасности
Нажмем кнопку Безопасность макросов, чтобы определить, какие макросы могут выполняться и при каких условиях. Хотя неконтролируемый код макроса может серьезно повредить компьютер, условия безопасности, запрещающие выполнять полезные макросы, могут ограничить эффективность работы. Безопасность макросов — это сложный и важный вопрос, в котором следует разобраться при работе с макросами PowerPoint.
Помните, что если при открытии книги, содержащей макрос, между лентой и листом появляется строка Предупреждение системы безопасности: запуск макросов отключен, можно нажать кнопку Включить содержимое, чтобы включить макрос.
Замечание 2Кроме того, в целях безопасности не сохраняйте макрос в формате презентации PowerPoint, используемом по умолчанию (PPTX). Вместо этого макрос должен быть сохранен в файл со специальным расширением — PPTM.
Редактор Visual Basic
После отображения вкладки Разработчик можно открыть редактор Visual Basic — встроенный инструмент, используемый для создания и изменения кода VBA для PowerPoint.
-
Создание макроса в редакторе Visual Basic
Нажмем кнопку Макросы на вкладке Разработчик.
В открывшемся диалоговом окне Макрос введем Hello в поле Имя.
Нажмем кнопку Создать, чтобы открыть редактор Visual Basic с уже введенными основными элементами нового макроса.
Редактор Visual Basic содержит код, указанный ниже:
Sub Hello()
End Sub
Определение 1Sub — это сокращение от Subroutine (подпрограмма), которую в данном случае можно определить как макрос.
Вызов макроса Hello приведет к выполнению любого кода между строчками Sub Hello() и End Sub.
Теперь изменим макрос, чтобы он был похож на следующий код.
Sub Hello()
MsgBox("Hello world")
End Sub
Вернемся на вкладку Разработчик в PowerPoint и снова нажмем кнопку Макросы. Выберите макрос Hello в появившемся списке, а затем нажмем кнопку Запуск, чтобы отобразить небольшое окно сообщения с текстом "Hello world".
Замечание 3Таким образом, мы создали и запустили пользовательский код VBA в PowerPoint. Нажмем кнопку ОК в окне сообщения, чтобы закрыть его и закончить выполнение макроса.
Если окно сообщения не появляется, необходимо проверить настройки безопасности макросов и перезапустить PowerPoint.
-
Предоставление доступа к макросам
Открыть диалоговое окно Макрос также можно с вкладки Вид, но при частом использовании макроса может оказаться более удобным вызывать его с помощью сочетания клавиш или кнопки на панели быстрого доступа.
Чтобы создать кнопку для макроса Hello на панели быстрого доступа, выполним следующие действия.
-
Создание кнопки для макроса на панели быстрого доступа
Переходим на вкладку Файл.
Нажмем кнопку Параметры, чтобы открыть диалоговое окно Параметры PowerPoint, а затем выберем элемент Панель быстрого доступа.
В списке раздела Выбрать команды нужно выбрать пункт Макросы. В появившемся списке найдем текст, похожий на Презентация1!Hello, и выберем его.
Затем нужно нажать кнопку Добавить >>, чтобы добавить макрос в список справа, потом нажмем кнопку Изменить…, чтобы выбрать изображение кнопки, связываемой с макросом.
Нажмем кнопку ОК. Новая кнопка должна появиться на панели быстрого доступа над вкладкой Файл.
Теперь можно быстро запустить макрос в любой момент, не обращаясь к вкладке Разработчик.