excel-vba
Интеграция PowerPoint через VBA
Поиск…
замечания
В этом разделе демонстрируется множество способов взаимодействия с 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 по желанию