Почему этот цикл создания слайдов в VBA PowerPoint не работает? - PullRequest
2 голосов
/ 18 ноября 2009

Я пытался создать этот скрипт, который бы создавал 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

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

1 Ответ

5 голосов
/ 18 ноября 2009

Первый:

  Set myindex = 1 

должно быть:

  myindex = 1

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

  Let myindex = 1

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

Во-вторых, потерять линию

  myindex = myindex + 1

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

...