2016-03-01 2 views
0

Прежде всего я новичок в VBA.Переместить фигуру на следующий слайд с VBA (PPT)

Я хотел бы перейти к перемещению фигуры с одного слайда на следующий слайд. И я хочу сделать это для каждого слайда презентации. (в режиме редактирования)

 Dim Sld As Slide 
     Dim Shp As Shape 

    For Each Sld In ActivePresentation.Slides 

     For Each Shp In Sld.Shapes 
      With Shp 
       If .Type = msoAutoShape _ 
        And .Left = 715 _ 
        And .Top = 366 _ 
        Then 
/!\ In the next slide /!\ 
         .Left = 50 'change the number for desired x position 
         .Top = 50 'change the number for desired y position 
       End If 
      End With 
     Next 'Shape 
    Next Sld ' Slide 

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

Заранее благодарю вас за помощь.

ответ

0

Вот небольшой фрагмент кода, который должен помочь:

' Copy the shape to the clipboard: 
Shp.Copy 

' Paste the shape to the next slide 
' Shp.Parent gives you a reference to the slide the shape is on 
' Shp.Parent.SlideIndex + 1 gives you a reference to the NEXT slide 
ActivePresentation.Slides(Shp.Parent.SlideIndex + 1).Shapes.Paste 

' And delete the original shape 
Shp.Delete 

Вы должны убедиться, что там действительно следующий слайд, конечно. ActivePresentation.Slides.Count покажет вам, сколько слайдов есть.

+0

спасибо, я отправил новый код –