PowerPoint VBA — автоматический запуск кнопки на слайде при открытии слайда в режиме слайд-шоу

#vba #powerpoint

#vba #powerpoint

Вопрос:

У меня есть кнопка, созданная на определенном слайде (пример слайда № 10), как показано ниже:

 Private Sub CommandButton1_Click()
Label1_Click
End Sub
 

Я хочу автоматически запускать эту кнопку, когда я открываю этот слайд в режиме слайд-шоу.
Какая команда может вызвать эту закрытую кнопку?

В модуле, который я создал

 Sub OnSlideShowPageChange()
    Dim i As Long
    i = ActivePresentation.SlideShowWindow.View.CurrentShowPosition
    Select Case i
        Case 10
            ==> which command can call a specific button action included in a specific slide?
            
        Case 11
            xxxxx
        Case 12
            xxxx
    End Select
    
End Sub
 

Комментарии:

1. Вы хотите автоматически запускать макрос, а не кнопку. Все автоматическое в PowerPoint требует использования событий. Вот введение в события: rdpslides.com/pptfaq /… Как настроить прослушиватель событий: vbaexpress.com/kb/getarticle.php?kb_id=327 Список событий, поддерживаемых в разных версиях: officeoneonline.com/vba/events_version.html

Ответ №1:

Кажется, вы все усложняете. Вместо того, чтобы пытаться автоматически нажимать кнопку, вызывающую код, просто вызывайте код напрямую.

 Sub OnSlideShowPageChange()
    Dim i As Long
    i = ActivePresentation.SlideShowWindow.View.CurrentShowPosition
    Select Case i
        Case 10
            ==> which command can call a specific button action included in a specific slide?
' just call the code:
MsgBox "Call the code directly rather that trying to activate a button"
            
        Case 11
            xxxxx
        Case 12
            xxxx
    End Select
    
End Sub