Если заявление для ppActionRunMacro - PullRequest
2 голосов
/ 05 марта 2020
If ActivePresentation.Slides(1).Shapes("Rectangle 5").ActionSettings(ppMouseClick).Action = ppActionRunMacro(CorrectAnswer) Then
MsgBox "YEET"
End If

Как сделать всплывающее окно MsgBox, если в определенной фигуре есть определенный макрос?

Ответы [ 2 ]

2 голосов
/ 05 марта 2020

Если ActionSettings вашего прямоугольника установлены следующим образом

Sub Setup()
    Dim ppt As Presentation
    Set ppt = ActivePresentation

    With ppt.Slides(1).Shapes("Rectangle 3").ActionSettings(ppMouseClick)
        .Action = ppActionRunMacro
        .Run = "CorrectAnswer"
    End With
End Sub

Public Sub CorrectAnswer()
    Debug.Print "show the correct answer"
End Sub

Тогда вы можете определить, какая фигура имеет макрос, который вы ищете, с помощью

Sub test()
    Dim ppt As Presentation
    Set ppt = ActivePresentation

    Dim sld As Slide
    For Each sld In ppt.Slides
        Dim shp As Shape
        For Each shp In sld.Shapes
            If shp.Name Like "Rectangle*" Then
                If shp.ActionSettings(ppMouseClick).Run = "CorrectAnswer" Then
                    MsgBox "YaYaYeet"
                End If
            End If
        Next
    Next sld
End Sub
1 голос
/ 05 марта 2020

Ваш синтаксис вызывает у вас ошибку.

Ниже приведен правильный синтаксис:

.ActionSettings.(ppMouseClick).Run = "CorrectAnswer"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...