Ошибка времени выполнения '-2147188160 (80048240)' VBA PowerPoint

Я использую код для представления свойств презентации в текстовое поле или форму с помощью кнопки или макроса. Когда я запускаю его, я получаю ошибку во время выполнения, которая говорит: " SlideShowWindows (неизвестный член): целое число вне диапазона. 1 не находится в допустимом диапазоне от 1 до 0

Что я должен делать!? Заранее спасибо!

Sub ReportStuff()
    Dim oSl As Slide
    Dim oSh As Shape

    Set oSl = SlideShowWindows(1).View.Slide

    ' Test to see if the shape's already there:
    Set oSh = IsItThere(oSl, "My Text Box")

    ' If it's not there, add it:
    If oSh Is Nothing Then
       Set oSh = oSl.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 50)
       oSh.Name = "My Text Box"
    End If

    With oSh.TextFrame.TextRange
        .Text = "Index: " & oSl.SlideIndex & " ID: " & oSl.SlideID & " File: " & ActivePresentation.FullName
    End With

End Sub

Function IsItThere(oSl As Slide, sName As String) As Shape
   Dim oSh As Shape
   For Each oSh In oSl.Shapes
      If oSh.Name = sName Then
         Set IsItThere = oSh
         Exit Function
      End If
   Next
End Function

1 ответ

SlideShowWindow доступно только во время слайд-шоу, но не в обычном режиме / режиме редактирования. Добавление следующей строки кода выше Set oSl = SlideShowWindows(1).View.Slide должно помочь:

ActivePresentation.SlideShowSettings.run
Другие вопросы по тегам