Почему этот цикл создания слайдов в VBA PowerPoint не работает?

StackOverflow https://stackoverflow.com/questions/1753678

  •  20-09-2019
  •  | 
  •  

Вопрос

Я пытался создать этот скрипт, который создавал бы 10 пустых слайдов, но по какой-то причине он не работает:

Sub CreatingSlides()
    Dim oPresentation As Presentation
    Set oPresentation = ActivePresentation
    Dim oSlide As Slide
    Dim oSlides As SlideRange
    Dim oShape As Shape
    Dim slideNumber As Integer
    Dim myindex As Integer

    Set myindex = 1
    ActivePresentation.Slides.add(Index:=myindex, Layout:=ppLayoutBlank).Select
    For myindex = 1 To 10
        myindex = myindex + 1
        ActivePresentation.Slides.add(Index:=myindex, Layout:=ppLayoutBlank).Select
    Next myindex
End Sub

Что я здесь сделал не так?Может быть, в моем цикле чего-то не хватает?

Это было полезно?

Решение

Первый:

  Set myindex = 1 

должно быть:

  myindex = 1

Set предназначен для ссылок на объекты.Let предназначен для значений и обычно подразумевается, но вы также можете использовать:

  Let myindex = 1

который имеет тот же эффект.

Во-вторых, ослабьте линию

  myindex = myindex + 1

Это то, что For/Next делает для вас.У вас могут быть другие ожидания в отношении поведения, поэтому попробуйте это, и мы сможем двигаться дальше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top