VBA не просматривает слайды PowerPoint - PullRequest
0 голосов
/ 08 апреля 2019

Я просто пытаюсь просмотреть слайды PowerPoint, используя следующий код VBA в Excel.

Sub test()

Dim slide As Object


For Each slide In ActivePresentation.Slides

    Debug.Print "test"

Next slide

End Sub

Однако я получаю сообщение «Ошибка во время выполнения» 424. Требуется объект ». У кого-нибудь есть идеи, почему ActivePresentation.Slides может не работать? Я пытался Dim slide as Slide также.

Есть ли какие-либо настройки или параметры в PowerPoint, которые мне нужно активировать?

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

VBA должен знать, на какое приложение вы ссылаетесь, чтобы он мог проходить по объектам в этом приложении.

1. Откройте редактор VBA

2. На верхней ленте нажмите Tools> References и установите флажок для библиотеки объектов Microsoft PowerPoint X.0

Теперь вы можете определить приложение PowerPoint и презентацию, к которой вы хотите обратиться

Sub ppslides()

Dim pp As Object
Dim slide As Object
Dim PowerPoint As PowerPoint.Application
Set PowerPoint GetObject(, "PowerPoint.Application")


'Loops through each open PP presentation and puts the presentation name in a messagebox
For Each pp In PowerPoint.Presentations
    MsgBox pp.Name
Next pp

'These variables can be populated and used to refer to a specific Presentation in the upcoming loop
ppname = "Example"
ppindex = 1


'Loops through all slides in the presentation and puts their names in a messagebox
'REF should be replaced with a name, index, or one of the above variables
For each slide In PowerPoint.Presentations(REF).Slides
    MsgBox slide.Name
Next slide

End Sub
0 голосов
/ 08 апреля 2019

Попробуйте это:

Sub test()

    Dim objPPTApp As Object
    Dim slide As Object

    Set objPPTApp = GetObject(, "PowerPoint.Application")

    For Each slide In objPPTApp.ActivePresentation.Slides

        Debug.Print "test"

    Next slide

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...