Перейти к содержимому

Презентация с поддержкой макросов что это

  • автор:

Сохранение презентации, содержащего макросы VBA

Макросы можно создавать для PowerPoint с помощью Visual Basic для приложений (VBA). Презентация, содержащая макросы VBA, должна быть сохранена с расширением имени файла, отличного от обычного файла презентации (например, .pptx, POTX или PPSX), в котором нет макросов.

Чтобы сохранить презентацию, содержащую макросы VBA, сделайте следующее:

  1. Откройте вкладку Файл и выберите команду Сохранить как.
  2. В списке «Сохранить как тип » выберите один из следующих вариантов:
    • Презентация powerPoint Macro-Enabled Презентация с расширением PPTM-имени файла, которое может содержать код VBA.
    • Показать Macro-Enabled PowerPoint Показ с расширением PPSM-имени файла, включающее предварительно утвержденные макросы, которые можно запускать в презентации.
    • Шаблон конструктора Macro-Enabled PowerPoint Шаблон с расширением potm-имени файла, который включает предварительно утвержденные макросы, которые можно добавить в шаблон и использовать в презентации.
  3. Нажмите кнопку Сохранить.

Создание макроса в PowerPoint

Запись макроса, которая используется для автоматизации часто используемых задач, недоступна в PowerPoint 2013 и более новых версиях. Вместо этого для создания или изменения макросов можно использовать Visual Basic для приложений (VBA). К ним относятся изменения, созданные в более ранних версиях PowerPoint.

Создание и изменение макроса

Чтобы создать или изменить макрос с помощью Visual Basic для приложений, сделайте следующее:

  1. На вкладке Вид выберите Макросы.
  2. В диалоговом окне Макрос введите имя макроса.
  3. В списке Где выберите шаблон или презентацию, где требуется сохранить макрос.
  4. В поле Описание введите описание макроса.
  5. Чтобы открыть Visual Basic для приложений, нажмите кнопку Создать.

Важно: Это средство недоступно в Office на компьютерах под управлением Windows RT. Хотите узнать, какая у вас версия Office?

Запуск макроса

Сведения о том, как запускать макрос в последних версиях PowerPoint, см. в теме «Запуск макроса в PowerPoint».

Презентация с поддержкой макросов что это

What’s on this Page

Файлы с расширением PPTM представляют собой файлы презентаций с поддержкой макросов, созданные с помощью Microsoft PowerPoint 2007 или более поздних версий. Они аналогичны файлам PPTX с той разницей, что боковые файлы не могут выполнять макросы, хотя могут содержать макросы. Файлы PPTM можно редактировать, открыв их в Microsoft PowerPoint и обновив содержимое. Другой похожий формат — PPSM, но по умолчанию он доступен только для чтения и запускает слайд-шоу при открытии. PPTM, как и PPTX, содержит слайды для различных элементов презентации, таких как текст, изображения, видео, графики и другие сопутствующие материалы.

Краткая история

Формат файла PPTM был введен в 2007 году и использует стандарт Open XML, адаптированный Microsoft еще в 2000 году. Новый тип файла имеет дополнительные преимущества небольшого размера файла, меньшего количества изменений в повреждении и хорошо отформатированного представления изображений. Это было в начале 2000 года, когда Microsoft решила внести изменения, чтобы приспособить стандарт для Office Open XML. К 2007 году этот новый формат файлов стал частью Office 2007 и поддерживается также в новых версиях Microsoft Office.

Спецификации формата файла

Файлы, созданные с помощью офисного формата файлов Open XML, представляют собой набор файлов XML вместе с другими файлами, которые обеспечивают связи между всеми составными файлами. Эта коллекция на самом деле представляет собой сжатый архив, который можно распаковать, чтобы просмотреть его содержимое. Для этого просто переименуйте расширение файла PPTM в zip и извлеките его, чтобы просмотреть его содержимое.

Следующие разделы проливают свет на каждый из них.

[Типы содержимого].xml

Это единственный файл, который находится на базовом уровне при распаковке zip-архива. В нем перечислены типы содержимого для частей внутри пакета. Все ссылки на XML-файлы, включенные в пакет, указаны в этом XML-файле. Ниже приведен тип содержимого для части слайда:

Если в пакет необходимо добавить новые части, это можно сделать, добавив новую часть и обновив все отношения в файлах .rels. Следует иметь в виду, что для такого изменения необходимо также обновить Content_Types.xml.

_rels (папка)

Отношения между другими частями и ресурсами вне пакета поддерживаются частью отношений. Папка «Отношения» содержит один XML-файл, в котором хранятся отношения на уровне пакетов. Ссылки на ключевые части файлов презентации содержатся в этом файле в виде URI. Эти URI определяют тип отношения каждой ключевой части к пакету. Это включает отношение к основному офисному документу, расположенному как ppt/presentation.xml, и другим частям в docProps в качестве основных и расширенных свойств.

Каждая часть документа, являющаяся источником одного или нескольких взаимосвязей, будет иметь свою собственную часть взаимосвязей, где каждая такая часть взаимосвязи находится в подпапке _rels части и именуется путем добавления ‘.rels’ к имени часть. Основная часть содержимого (presentation.xml) имеет собственную часть отношений (presentation.xml.rels). Он содержит связи с другими частями содержимого, такими как slideMaster1.xml, notesMaster1.xml, handoutMaster1.xml, slide1.xml, presProps.xml, tableStyles.xml, theme1.xml, а также URI для внешних ссылок.

Явная связь

Для явной связи ресурс ссылается с использованием атрибута Id объекта. элемент. То есть идентификатор в источнике сопоставляется непосредственно с идентификатором элемента отношения с явной ссылкой на цель.

Например, слайд может содержать такую гиперссылку:

r:id#“rId2” ссылается на следующую связь в части отношений для слайда (slide1.xml.rels).

Неявная связь

Для неявной связи нет такой прямой ссылки на Идентификатор . Вместо этого ссылка понимается.

Папка ppt

Это основная папка, содержащая все подробности о содержимом презентации. По умолчанию он имеет следующие папки:

  • _rels
  • тема
  • слайды
  • макеты слайдов
  • мастера слайдов

и следующие xml-файлы:

  • презентация.xml
  • преспропс.xml
  • таблицаСтили.xml
  • viewProps.xml

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

  • [MS-PPTX] — формат файла PPTX
  • Open Office XML

See Also

  • Формат XVID-файла
  • Формат файла РА
  • Формат FLV-файла
  • Формат VOB-файла
  • Формат файла F4V

Как управлять презентациями Microsoft PowerPoint с помощью VBA

Данный материал основан и доработан по материалам оригинальной статьи «EasyTweaks — How to create and add slides to PowerPoint presentations with VBA».

Существует ли способ автоматизировать создание презентаций PowerPoint с нуля с последующим быстрым добавлением слайдов к существующей презентации? Мы подумали, что данную задачу для PowerPoint вполне под силу решить с помощью макросов. Однако, как известно, PowerPoint не включает средство записи макросов Macro Recorder (в отличие от Excel и Word, которые имеют встроенные средства записи макросов). Поэтому у нас остаётся лишь старый добрый Visual Basic for Application (VBA), который мы можем использовать для создания простых макросов для автоматизации PowerPoint. Разумеется, существуют и альтернативные варианты автоматизации PowerPoint, но они выходят за рамки данной статьи.

В этом кратком руководстве мы рассмотрим три различных варианта использования:

  • Создание новой презентации (пустой или по шаблону);
  • Добавление слайдов к существующей презентации;
  • Сочетание двух предыдущих вариантов.

Создайте презентацию PowerPoint и сохраните ее с возможностью выполнения макросов (файл с расширением *.pptm).

PowerPoint save as pptm

Посмотрите на Ленту (Ribbon). Если в Ленте нет вкладки «Разработчик» (Developer), то перед началом написания кода необходимо включить эту вкладку (меню ленты File — Options).

PowePoint add Developer Tab in Ribbon

Далее во вкладке Trust Center, включите возможность выполнения макросов в PowerPoint.

Trust Center for VBA in PowerPoint Options

После того, как вы сделаете вкладку «Разработчик» (Developer) видимой для вашей ленты, перейдите на эту вкладку и нажмите кнопку Visual Basic (или просто нажмите Alt + F11), чтобы открыть Visual Basic IDE.

Run Visual Basic Editor from PowerPoint

Макрос VBA для создания презентации и добавления слайдов

В редакторе Visual Basic щелкните правой кнопкой мыши VBAProject и выберете пункт вставки модуля (Insert > Module).

Insert Module in VBA for PowerPoint

Вставьте следующий код во вновь созданный модуль:

Sub CreatePres_AddSlides() Dim NewPres as Presentation Dim NewSlide as Slide Set NewPres = Presentations.Add NewPres.SaveAs("MyPresentation.pptx") ' Title Slide Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle) 'This statement adds a blank slide in the second place Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank) 'Save the new PowerPoint file NewPres.SaveAs("MyPresentation.pptx") End Sub

Нажмите в меню File, а затем Save… При сохранении следует выбрать формат с поддержкой макросов (*.pptm):

Save presentation as pptm

Чтобы запустить код, нажмите Run, а затем выберите Run Sub/UserForm (или просто F5).

Run Sub/UserForm in VBA

В итоге мы увидим созданный и открытый файл презентации.

Create new presentation from VBA

Теперь редактор Visual Basic можно закрыть.

Как создавать и вставлять Фигуры (Shapes) в PowerPoint с помощью VBA

Захотелось автоматизировать довольно обыденную задачу по созданию слайдов PowerPoint. При автоматизации PowerPoint вы обычно работаете с коллекцией слайдов и фигур. Слайды говорят сами за себя, а фигуры — это почти все остальное, включая текстовые поля, кнопки действий, медиа-объекты, метки, изображения, выноски, блок-схемы и т.д.. Хотя мы будем демонстрировать приемы работы с PowerPoint, часть синтаксиса на самом деле вполне применима к Microsoft Word и Excel.

Приступим к работе с фигурами. Во-первых, давайте продолжим и откроем редактор VBA, нажав Alt + F11. Если вы следовали предыдущему руководству, у вас должен быть Module1 в вашем списке модулей.

Добавление текстового поля через VBA

Начнем с добавления вертикального текстового поля к нашему первому слайду презентации. Добавьте следующий код в Module1 , затем нажмите кнопку Сохранить (Ctrl + S) и запустите макрос (пункт меню Run Sub/User Form или просто нажмите F5).

Sub CreateTextBox() Set MySlide = ActivePresentation.Slides(2) With MySlide.Shapes .AddTextbox(Orientation:=msoTextOrientationVertical, _ Left:=90, Top:=200, Width:=80, Height:=200).TextFrame.TextRange.Text = ("Это моё вертикальное тестовое поле") End With End Sub

Add text shape

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

Sub ResizeText() Set MyShape = ActivePresentation.Slides(2).Shapes(1) 'Add your required dimensions as needed below With MyShape .Width = 200 .Height = 35 End With End Sub

Resize text shape

Текстовые эффекты PowerPoint с VBA

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

Sub SetEffects() Dim i As Integer For i = 1 To ActivePresentation.Slides.Count ActivePresentation.Slides(i) _ .Shapes.AddTextEffect msoTextEffect12, "Проба пера", _ "Segoe UI", 32, msoTrue, msoTrue, 650, 50 Next End Sub

Посмотрим, что получилось:

Add text effect in shape

Обратите внимание, что вы можете использовать простой водяной знак для достижения этого конкретного результата.

Выноски PowerPoint с VBA

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

Sub CreateCallout() ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "Моя выноска" End Sub

Add Callout in Shape

Создание презентации PowerPoint из книги Excel

Рассмотрим ещё один случай, когда вы хотите создать презентацию PowerPoint прямо из электронной таблицы Excel. Вы можете использовать аналогичный метод в Word и других приложениях Microsoft Office.

Данный пример демонстрирует возможность вызова другого приложения MS Office из первоначально запущенного приложения (прим. пер.).

Сперва создайте новую книгу Excel и сохраните ее как книгу с макросами (файл с расширением *.xlsm).

Save file as xlsm

Войдите в редактор Visual Basic Editor (меню ленты Developer > Visual Basic, либо сочетанием клавиш Alt+F11)

Open VBE from Excel

В редакторе VBE свяжите электронную таблицу с моделью данных PowerPoint, выбрав в меню (Tools > References), Microsoft PowerPoint Object Library.

References in VBA

Add Microsoft PowerPoint Object Library

Вставьте новый модуль VBA для внесения кода процедуры Visual Basic.

Insert Module in VBA for Excel

Вставьте приведенный ниже код VBA непосредственно в модуль VBA и нажмите иконку Save.

(При необходимости, вы можете внести свои изменения в сценарий.)

Sub CreatePresentationFromExcel() ' Dim MyPPt As PowerPoint.Application Dim NewPres As PowerPoint.Presentation Dim NewSlide As Slide Set MyPPt = CreateObject("PowerPoint.Application") ' Set NewPres = MyPPt.Presentations.Add Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle) ' End Sub

Module code in VBA

Вставьте кнопку прямо в электронную таблицу Excel (меню Developer > Insert, а затем выберите Button (Form Control)).

Insert Button control in Excel

Привяжите в диалоговом окне процедуру VBA, созданную вами ранее, к вставляемой кнопке.

Assign Macro in Excel

Нажмите кнопку и проверьте результат.

Добавить комментарий

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