Поиск…


замечания

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

Основы: запуск PowerPoint из VBA

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

Примечание. Этот код требует, чтобы ссылка PowerPoint была добавлена ​​в активный проект VBA. См References запись документации , чтобы узнать , как включить ссылку.

Во-первых, определите переменные для объектов Application, Presentation и Slide. Хотя это можно сделать с поздним связыванием, всегда лучше использовать раннее связывание, когда это применимо.

Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide

Затем откройте или создайте новый экземпляр приложения PowerPoint. Здесь вызов On Error Resume Next используется, чтобы избежать ошибки, GetObject если PowerPoint еще не открыта. Более подробное объяснение см. В примере обработки ошибок в разделе «Лучшая практика».

'Open PPT if not running, otherwise select active instance
On Error Resume Next
Set PPApp = GetObject(, "PowerPoint.Application")
On Error GoTo ErrHandler
If PPApp Is Nothing Then
    'Open PowerPoint
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Visible = True
End If

После запуска приложения создается новая презентация и впоследствии содержащий слайд.

'Generate new Presentation and slide for graphic creation
Set PPPres = PPApp.Presentations.Add
Set PPSlide = PPPres.Slides.Add(1, ppLayoutBlank)

'Here, the slide type is set to the 4:3 shape with slide numbers enabled and the window 
'maximized on the screen.  These properties can, of course, be altered as needed

PPApp.ActiveWindow.ViewType = ppViewSlide
PPPres.PageSetup.SlideOrientation = msoOrientationHorizontal
PPPres.PageSetup.SlideSize = ppSlideSizeOnScreen
PPPres.SlideMaster.HeadersFooters.SlideNumber.Visible = msoTrue
PPApp.ActiveWindow.WindowState = ppWindowMaximized

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



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow