ppActionRunMacro 的 If 语句

If statement for ppActionRunMacro

If ActivePresentation.Slides(1).Shapes("Rectangle 5").ActionSettings(ppMouseClick).Action = ppActionRunMacro(CorrectAnswer) Then
MsgBox "YEET"
End If

如果特定形状具有特定宏,我如何制作 MsgBox 弹出窗口?

如果你的矩形的 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

您的语法错误。

以下是正确的语法:

.ActionSettings.(ppMouseClick).Run = "CorrectAnswer"