Как записать макрос в PowerPoint
Обновлено: 21.11.2024
Мне нравятся макросы VBA, и меня очень расстраивает отсутствие средства записи макросов в PowerPoint. Это в первую очередь потому, что, хотя он все еще может запускать макросы, я часто не знаю имен команд или объектов, которыми хочу манипулировать, и мне гораздо проще (например, в Excel) записать их и посмотрите, что он делает, вместо того, чтобы копаться в грудах документации. Существуют ли какие-либо надстройки, воспроизводящие эту функциональность, или альтернативные решения?
отправлено solarion в Компьютеры и Интернет (всего 5 ответов) 2 пользователя отметили это как избранное
Лучший ответ: Хммм. Я так не думаю. IIRC, макросы были тесно связаны с VBA, а это мертвая/умирающая технология, а PowerPoint не поддерживает запись макросов с момента выпуска 2013 года — если нет сторонних разработчиков. еще не наступило, этого не произойдет. Совершенно очевидно, что запись VBA и макросов исчезнет из-за того, что их нелегко поддерживать на новых платформах (Android, iOS, MacOSX) в версиях Office.
Одна вещь. Чтобы помочь вам изучить доступную объектную модель, создайте макрос VBA, и как только вы окажетесь в «Редакторе VBA», нажмите «F2» или перейдите в меню «Просмотр> Обозреватель объектов», это позволит вам увидеть различные доступные объекты и свойства. редактировать.
Однако, если вы серьезно относитесь к "автоматизации" работы в Office, лучше всего изучить новую объектную модель на основе JavaScript и, к сожалению, потратить время на просмотр документации.
В последнее время Microsoft усложняет жизнь "гражданским разработчикам": они лоботомировали SharePoint Designer, вырезали InfoPath, а VBA находится на грани смерти. Возможно, альтернативы (PowerApps, Flow, Visio для рабочих процессов) лучше (переход на JavaScript вместо VBA — определенно шаг в правильном направлении), но все же.
опубликовано jkaczor в 7:44, 8 ноября 2018 г. [1 избранное]
Ответ автора: Спасибо, jkaczor. Я не знаю JavaScript, и ничто из того, что я нашел в Интернете об автоматизации, не намекало на то, к чему они шли (?). Думаю, мне нужно будет забрать его.
опубликовано solarion, 8 ноября 2018 г., 15:38
Вот отправная точка для "JavaScript API для Office".
Боже мой, в конце концов, я вижу, что PowerPoint не является "гражданином первого сорта", и хотя в нем есть определенный уровень программируемости, он использует только "общий API" и не имеет собственной объектной модели.
опубликовано jkaczor в 6:52, 9 ноября 2018 г. [1 избранное]
Ответ автора: Боже мой, в конце концов, я вижу, что PowerPoint не является "гражданином первого сорта", и, несмотря на некоторый уровень программируемости, он использует только "общий API" и не нет собственной объектной модели.
Мы хотели бы иметь возможность записывать макрос, который вставляет другой слайд и добавляет заголовок для этого нового слайда.
Всегда стоит отрепетировать шаги, прежде чем использовать средство записи макросов. Если вы сделаете какие-либо ненужные шаги, это создаст больше кода, чем нужно на самом деле.
Давайте сначала отрепетируем шаги. Выберите (Вставка > Новый слайд) . Панель задач должна быть открыта справа.
Необходимо вставить новый слайд «Заголовок и текст» (поскольку он установлен по умолчанию).
Панель задач также может появиться справа. . Вы можете проверить свои параметры (Инструменты > Параметры) (вкладка «Вид», «Панель задач «Макет слайда» при вставке новых слайдов»).
Панель задач отображается только для того, чтобы вы могли легко изменить тип макета слайда, если вы этого не сделали. нужен слайд "Заголовок и текст".
Выберите заполнитель заголовка и введите заголовок "BetterSolutions.com".
Теперь вы готовы записать настоящий макрос, поэтому давайте начнем с удаления этого слайда
Записать макрос
Выберите («Инструменты» > «Макрос» > «Записать новый макрос»), чтобы отобразить диалоговое окно «Запись макроса». Дайте макросу имя «InsertingSlide».
Вам не нужно беспокоиться об изменении раскрывающегося списка «Сохранить макрос в», так как записанные макросы всегда помещаются в активную презентацию.
Нажмите OK, чтобы начать запись. Должна отобразиться панель инструментов «Остановить запись».
Выберите («Вставить» > «Новый слайд»).
Найдите макет слайда «Заголовок и текст», отобразите раскрывающееся меню и выберите «Вставить новый слайд».
Выберите заполнитель заголовка и введите заголовок «Другой слайд».
Нажмите кнопку остановки записи на панели инструментов «Остановить запись».
Панель инструментов исчезнет.
Поиск макроса
После того как вы записали макрос, просмотр кода становится очень простым. Это делается в редакторе Visual Basic.
Можно изменить макрос, выбрав (Инструменты > Макрос > Макросы) . Выберите имя макроса и нажмите кнопку «Редактировать». Это откроет редактор Visual Basic в другом окне.
Использование этого метода найдет макрос для вас и отобразит модуль кода, в котором можно найти макрос.
Должно открыться другое окно приложения, и вы должны увидеть следующие строки кода.
Редактирование кода
Обратите внимание, что описание по умолчанию размещается в виде комментария вверху макроса.
Выберите этот слайд и запустите этот макрос. Новый слайд будет вставлен с тем же заголовком.
Рекордер макросов всегда будет включать несколько строк кода, которые можно удалить.
Приведенный выше макрос можно значительно упростить, и результат будет точно таким же. .
Написание эффективного кода
Первое, что нужно удалить, это комментарии. Это строки, которые начинаются с " ' " и отображаются зеленым цветом в редакторе Visual Basic.
Следующий макрос выполняет точно такое же действие, как и записанный макрос, хотя этот макрос значительно более эффективен и будет поэтому работайте намного быстрее.
Этот макрос имеет индекс слайдов, жестко набранный равным "2", поэтому любые новые слайды, которые вы вставляете с помощью этого макроса, будут вставлены как слайд номер 2.
Для небольших макросов скорость не так важна. Оба вышеуказанных макроса запускаются всего за доли секунды, поэтому вы, вероятно, даже не заметите разницы.
Для более крупных и сложных макросов скорость становится более серьезной проблемой. Очень легко написать работающий макрос, но для написания эффективного макроса требуется много практики.
Вы могли бы ввести приведенный выше код прямо в окно кода, если бы вы были знакомы с кодом VBA.
Возможность писать макросы непосредственно в окне кода потребует некоторой практики, но лучше всего начать с Macro Recorder, если вы хотите больше узнать о коде.
Это полное руководство по автоматизации PowerPoint с помощью макросов VBA (Visual Basic для приложений). Ниже вы найдете много полезных примеров.
VBA PDF (бесплатная загрузка)
Загрузите наше бесплатное руководство по Microsoft PowerPoint VBA! Или учебные пособия по VBA для других программ Office!
Учебное пособие по PowerPoint VBA (макросы)
Сохранить как презентацию с поддержкой макросов
Презентация с кодом VBA должна быть сохранена как презентация PowerPoint с поддержкой макросов (*.pptm)
Включить вкладку «Разработчик» на ленте
Перед созданием кода VBA необходимо включить вкладку "Разработчик" на ленте. Для этого выберите «Файл» -> «Параметры», затем нажмите «Настроить ленту» и установите флажок рядом с вкладкой «Разработчик» на правой панели.
Создать макрос PowerPoint
Это простой пример макроса PowerPoint VBA:
Сохраняет активную презентацию в формате PDF. Каждая строка кода делает следующее:
- Создает переменные для имени PowerPoint и имени PDF.
- Назначает имя активной презентации переменной pptName
- Создает полное имя PDF
- Сохраняет презентацию в формате PDF.
Приложение PowerPoint
Когда код VBA выполняется в презентации PowerPoint, приложение PowerPoint является приложением по умолчанию, и им можно манипулировать без явной ссылки. Создать новую презентацию
Чтобы создать презентацию, используйте метод Add приложения PowerPoint.
Программирование VBA стало проще
Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Открыть новую презентацию
Чтобы открыть новую пустую презентацию, используйте метод Add коллекции Application.Presentations
Открыть существующую презентацию
Чтобы открыть уже созданную презентацию, используйте метод Open коллекции Application.Presentations
Приведенный выше код предполагает, что презентация находится в том же каталоге, что и презентация PowerPoint, содержащая код.
Открыть и назначить переменной
Презентацию, которую вы открываете, следует присвоить переменной, чтобы вы могли манипулировать ею в соответствии со своими требованиями.
См. активную презентацию
Используйте ссылку ActivePresentation для управления презентацией, активной в графическом интерфейсе, когда выполняется код VBA.
Сохранить текущую презентацию
Следующий оператор сохранит активную презентацию, если она была сохранена ранее. Если он не был сохранен, вам будет предложено открыть диалоговое окно «Сохранить как».
Закрыть текущую презентацию
Приведенный ниже оператор закроет активную презентацию, даже если она не была сохранена после последнего редактирования.
Полезные ссылки
Назначить существующую презентацию (по имени) переменной
Назначить активный слайд переменной
Назначить слайд по индексу переменной
Подсчитать количество слайдов
Получить порядковый номер текущего слайда
Добавить пустой слайд в конец слайд-шоу
Добавить слайд после текущего слайда
Удалить слайд
Перейти к определенному слайду
Переместить слайд
Вы можете переместить слайд со старой позиции на новую
Просмотреть все слайды
Вы можете что-то сделать с каждым слайдом или просмотреть все слайды, чтобы найти несколько слайдов и что-то сделать с помощью кода;
Пройтись по всем формам активного слайда
Мощь PowerPoint можно реализовать с помощью «Фигур». Приведенный ниже код перебирает все фигуры на текущем слайде, чтобы вы могли манипулировать ими по своему усмотрению.
Перебрать все фигуры во всех слайдах
Вы можете просмотреть все фигуры в презентации, добавив цикл для просмотра всех слайдов.
Пройтись по всем текстовым полям активного слайда
Текстовые поля — наиболее часто используемые фигуры в презентациях PowerPoint. Вы можете пройтись по всем текстовым полям, добавив проверку «Тип фигуры». Тип формы для текстовых полей определяется как константа VBA msoTextBox (числовое значение константы равно 17)
Пройтись по всем текстовым полям во всех слайдах
Опять же, вы можете просмотреть все текстовые поля в презентации, добавив цикл для просмотра всех слайдов.
Копировать выбранные слайды в новую презентацию PPT
Чтобы скопировать определенные слайды в новую презентацию, сначала выберите нужные слайды в существующей презентации, а затем запустите приведенный ниже код.
Копировать активный слайд в конец активной презентации
Полезные примеры макросов PowerPoint
Вот несколько полезных примеров макросов, показывающих, как выполнять задачи. Они также продемонстрируют концепции, описанные выше.
Изменить слайд во время показа слайдов
Изменить шрифт на всех слайдах во всех текстовых полях
Изменить регистр с прописного на обычный во всех текстовых полях
Переключить регистр между заглавными и обычными во всех текстовых полях
Удалить подчеркивание в нисходящих элементах
В типографике выносной элемент – это часть буквы, выступающая за базовую линию шрифта. В большинстве шрифтов выносные элементы зарезервированы для символов нижнего регистра, таких как g, j, q, p, y и иногда f.
Когда вы подчёркиваете текст, он выглядит некрасиво под выносными элементами. Вот код для удаления подчеркивания со всех таких символов g, j, p, q и y во всей презентации.
Удалить анимацию со всех слайдов
Используйте приведенный ниже код, чтобы удалить все анимации, установленные в презентации.
Сохранить презентацию в формате PDF
Вы можете легко сохранить Active Presentation в формате PDF.
Найти и заменить текст
Вы можете найти и заменить текст во всех текстовых полях всех слайдов. После первого экземпляра текста, который вы хотите найти (определяется findWhat), вам нужно пройтись по команде Find, чтобы найти другие экземпляры, если они есть.
Экспортировать слайд как изображение
Вы можете экспортировать текущий слайд (или любой другой слайд) в формате PNG, JPG (JPEG) или BMP.
Изменить размер изображения, чтобы покрыть весь слайд
Выйти из всех запущенных слайд-шоу
Если у вас одновременно открыто несколько слайд-шоу, вы можете закрыть их все с помощью приведенного ниже макроса.
Автоматизация PowerPoint из Excel
Вы также можете подключиться к PowerPoint через другие приложения (например, Excel и Word). В качестве первого шага вы должны обратиться к экземпляру PowerPoint.
Есть два способа сделать это: раннее связывание и позднее связывание .
Открыть PowerPoint — Раннее связывание
В «Раннем связывании» вы должны явно указать ссылку на «Библиотеку объектов Microsoft PowerPoint 16» (для MS Office 2019) в VBE (редактор Visual Basic), используя параметр Инструменты->Ссылки.
Открыть PowerPoint — позднее связывание
В «Позднем связывании» переменная приложения объявляется как объект, и механизм VBA подключается к правильному приложению во время выполнения.
Сделать приложение видимым
После установки ссылки на приложение PowperPoint может потребоваться сделать его видимым.
Управление PowerPoint
Вы можете использовать все методы управления презентациями из PowerPoint, описанные выше, из Excel, просто добавив ссылку на PowerPoint, созданную вами выше.
должен использоваться как это
Закрыть приложение
После завершения того, что вы хотели сделать с приложением PowerPoint, вы должны закрыть его и освободить ссылку.
Копировать из Excel в PowerPoint
Этот код скопирует диапазон из Excel в PowerPoint:
Примечание. Мы максимально упростили демонстрацию того, как можно скопировать диапазон из Excel в PowerPoint с помощью VBA.
Часто задаваемые вопросы о PowerPoint VBA
Что такое макросы в PPT?
Макрос — это общий термин, обозначающий набор программных инструкций, автоматизирующих задачи. Макросы PowerPoint (PPT) автоматизируют задачи в PowerPoint с помощью языка программирования VBA.
Как использовать VBA в PowerPoint?
Чтобы использовать VBA в PowerPoint, откройте редактор VBA (ALT + F11 или Developer > Visual Basic).
Как создать макрос в PowerPoint?
<р>1. Откройте редактор VBA (ALT + F11 или Разработчик > Visual Basic)2. Выберите «Вставка» > «Модуль», чтобы создать модуль кода
3. Введите «Sub HelloWorld» и нажмите Enter
4. Между строками «Sub HelloWorld» и «End Sub» введите «MsgBox «Hello World!»
5. Вы создали макрос!
6. Теперь нажмите F5, чтобы запустить макрос
Автор: Винамра Чандра
Генератор кода VBA
Надстройка примеров кода VBA
Легкий доступ ко всем примерам кода на нашем сайте.
Просто перейдите в меню, нажмите, и код будет вставлен прямо в ваш модуль. Надстройка .xlam.
Макросы помогают ускорить и упростить процессы во многих приложениях Microsoft Office, и PowerPoint не является исключением. Используя VBA в PowerPoint, вы можете автоматизировать повторяющиеся шаги и даже расширить возможности вашего слайд-шоу, сэкономив ваше время и одновременно повысив глубину, богатство и привлекательность вашей презентации. Чтобы создавать и запускать функции макросов в PowerPoint 2010, вы должны сначала узнать, как включить вкладку "Разработчик" на ленте, научиться использовать редактор Visual Basic и сделать свои макросы доступными.
Включить вкладку "Разработчик"
В PowerPoint щелкните правой кнопкой мыши «Панель быстрого доступа», которая находится в верхнем левом углу рядом со значком издателя. Выберите «Настроить ленту».
Выберите «Все вкладки» в разделе «Настроить ленту» справа.
Установите флажок "Вкладка "Разработчик"" в списке доступных вкладок. Нажмите «ОК». На ленте PowerPoint появится вкладка "Разработчик".
Создать новый макрос
Перейдите на вкладку "Разработчик" на ленте. Нажмите кнопку "Макросы" в группе "Код", чтобы открыть диалоговое окно "Макрос".
Введите имя, описывающее макрос, в поле «Имя макроса». Например, если вы хотите создать макрос, который изменит формат заголовков ваших слайдов, вы можете ввести «FormatSlideTitles» в поле «Имя макроса».
Нажмите кнопку "Создать", чтобы открыть редактор Visual Basic.
Введите код VBA, который вы хотите применить. Например, если вы создаете макрос для форматирования заголовков слайдов, вы можете ввести следующий код.
Тусклый как слайд Затемнение как фигура
Для каждого s в ActivePresentation.Slides Для каждого shp в s.Shapes Если shp.Type = msoPlaceholder Тогда с shp .Top = 8 .TextFrame.TextRange.Font.Name = "Cambria" .TextFrame.TextRange.Font.Size = 26 End with End If Next shp Next s
Перейдите на вкладку "Файл" и выберите "Закрыть и вернуться в Microsoft PowerPoint" или нажмите "Ctrl-Q", чтобы сохранить макрос и вернуться к презентации.
Добавить кнопку макроса на панель быстрого доступа
Щелкните правой кнопкой мыши «Панель быстрого доступа», которая находится в верхнем левом углу рядом со значком издателя. Выберите «Настроить ленту».
Выберите «Все команды» в списке «Выбрать команды из».
Выберите «Макросы» из списка команд. Нажмите кнопку "Добавить" и нажмите "ОК".
Нажмите кнопку "Макросы" на панели быстрого доступа и выберите макрос, который хотите запустить.
Читайте также: